/*
   Licensed to the Apache Software Foundation (ASF) under one or more
   contributor license agreements.  See the NOTICE file distributed with
   this work for additional information regarding copyright ownership.
   The ASF licenses this file to You under the Apache License, Version 2.0
   (the "License"); you may not use this file except in compliance with
   the License.  You may obtain a copy of the License at

       http://www.apache.org/licenses/LICENSE-2.0

   Unless required by applicable law or agreed to in writing, software
   distributed under the License is distributed on an "AS IS" BASIS,
   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
   See the License for the specific language governing permissions and
   limitations under the License.
*/
$(document).ready(function() {

    $(".click-title").mouseenter( function(    e){
        e.preventDefault();
        this.style.cursor="pointer";
    });
    $(".click-title").mousedown( function(event){
        event.preventDefault();
    });

    // Ugly code while this script is shared among several pages
    try{
        refreshHitsPerSecond(true);
    } catch(e){}
    try{
        refreshResponseTimeOverTime(true);
    } catch(e){}
    try{
        refreshResponseTimePercentiles();
    } catch(e){}
});


var responseTimePercentilesInfos = {
        data: {"result": {"minY": 596.0, "minX": 0.0, "maxY": 71621.0, "series": [{"data": [[0.0, 596.0], [0.1, 676.0], [0.2, 1170.0], [0.3, 1211.0], [0.4, 1517.0], [0.5, 1609.0], [0.6, 1899.0], [0.7, 2281.0], [0.8, 2361.0], [0.9, 2681.0], [1.0, 2737.0], [1.1, 3157.0], [1.2, 3178.0], [1.3, 3201.0], [1.4, 3208.0], [1.5, 3251.0], [1.6, 3269.0], [1.7, 3284.0], [1.8, 3312.0], [1.9, 3348.0], [2.0, 3376.0], [2.1, 3439.0], [2.2, 3446.0], [2.3, 3485.0], [2.4, 3534.0], [2.5, 3563.0], [2.6, 3598.0], [2.7, 3618.0], [2.8, 3638.0], [2.9, 3693.0], [3.0, 3849.0], [3.1, 4213.0], [3.2, 4425.0], [3.3, 4744.0], [3.4, 4917.0], [3.5, 5169.0], [3.6, 5466.0], [3.7, 5624.0], [3.8, 5937.0], [3.9, 6118.0], [4.0, 6488.0], [4.1, 6677.0], [4.2, 6798.0], [4.3, 6854.0], [4.4, 6899.0], [4.5, 6915.0], [4.6, 6932.0], [4.7, 6940.0], [4.8, 6948.0], [4.9, 6967.0], [5.0, 6995.0], [5.1, 7009.0], [5.2, 7028.0], [5.3, 7045.0], [5.4, 7059.0], [5.5, 7087.0], [5.6, 7111.0], [5.7, 7132.0], [5.8, 7195.0], [5.9, 7405.0], [6.0, 7632.0], [6.1, 7890.0], [6.2, 8142.0], [6.3, 8450.0], [6.4, 8681.0], [6.5, 8844.0], [6.6, 9113.0], [6.7, 9338.0], [6.8, 9632.0], [6.9, 10016.0], [7.0, 10178.0], [7.1, 10445.0], [7.2, 10493.0], [7.3, 10522.0], [7.4, 10541.0], [7.5, 10553.0], [7.6, 10562.0], [7.7, 10574.0], [7.8, 10575.0], [7.9, 10578.0], [8.0, 10591.0], [8.1, 10600.0], [8.2, 10606.0], [8.3, 10621.0], [8.4, 10634.0], [8.5, 10650.0], [8.6, 10667.0], [8.7, 10684.0], [8.8, 10907.0], [8.9, 11108.0], [9.0, 11345.0], [9.1, 11588.0], [9.2, 11854.0], [9.3, 12195.0], [9.4, 12383.0], [9.5, 12801.0], [9.6, 13006.0], [9.7, 13210.0], [9.8, 13448.0], [9.9, 13625.0], [10.0, 13903.0], [10.1, 14036.0], [10.2, 14056.0], [10.3, 14068.0], [10.4, 14080.0], [10.5, 14085.0], [10.6, 14092.0], [10.7, 14099.0], [10.8, 14106.0], [10.9, 14114.0], [11.0, 14121.0], [11.1, 14135.0], [11.2, 14151.0], [11.3, 14155.0], [11.4, 14168.0], [11.5, 14182.0], [11.6, 14213.0], [11.7, 14298.0], [11.8, 14562.0], [11.9, 14865.0], [12.0, 15167.0], [12.1, 15341.0], [12.2, 15616.0], [12.3, 15786.0], [12.4, 16091.0], [12.5, 16380.0], [12.6, 16568.0], [12.7, 16857.0], [12.8, 17065.0], [12.9, 17316.0], [13.0, 17468.0], [13.1, 17514.0], [13.2, 17527.0], [13.3, 17541.0], [13.4, 17557.0], [13.5, 17564.0], [13.6, 17588.0], [13.7, 17595.0], [13.8, 17605.0], [13.9, 17608.0], [14.0, 17620.0], [14.1, 17625.0], [14.2, 17638.0], [14.3, 17655.0], [14.4, 17684.0], [14.5, 17714.0], [14.6, 17790.0], [14.7, 18042.0], [14.8, 18248.0], [14.9, 18537.0], [15.0, 18731.0], [15.1, 19054.0], [15.2, 19291.0], [15.3, 19491.0], [15.4, 19799.0], [15.5, 20068.0], [15.6, 20318.0], [15.7, 20521.0], [15.8, 20815.0], [15.9, 20918.0], [16.0, 20955.0], [16.1, 20994.0], [16.2, 21026.0], [16.3, 21041.0], [16.4, 21044.0], [16.5, 21055.0], [16.6, 21057.0], [16.7, 21072.0], [16.8, 21087.0], [16.9, 21093.0], [17.0, 21101.0], [17.1, 21118.0], [17.2, 21126.0], [17.3, 21151.0], [17.4, 21178.0], [17.5, 21217.0], [17.6, 21516.0], [17.7, 21659.0], [17.8, 22038.0], [17.9, 22229.0], [18.0, 22558.0], [18.1, 22800.0], [18.2, 23017.0], [18.3, 23303.0], [18.4, 23535.0], [18.5, 23791.0], [18.6, 24088.0], [18.7, 24303.0], [18.8, 24505.0], [18.9, 24544.0], [19.0, 24560.0], [19.1, 24574.0], [19.2, 24592.0], [19.3, 24604.0], [19.4, 24610.0], [19.5, 24623.0], [19.6, 24626.0], [19.7, 24648.0], [19.8, 24655.0], [19.9, 24657.0], [20.0, 24681.0], [20.1, 24685.0], [20.2, 24698.0], [20.3, 24732.0], [20.4, 24778.0], [20.5, 25040.0], [20.6, 25175.0], [20.7, 25485.0], [20.8, 25717.0], [20.9, 25938.0], [21.0, 26257.0], [21.1, 26415.0], [21.2, 26769.0], [21.3, 26989.0], [21.4, 27177.0], [21.5, 27422.0], [21.6, 27649.0], [21.7, 27951.0], [21.8, 28030.0], [21.9, 28045.0], [22.0, 28056.0], [22.1, 28062.0], [22.2, 28075.0], [22.3, 28076.0], [22.4, 28091.0], [22.5, 28103.0], [22.6, 28108.0], [22.7, 28136.0], [22.8, 28153.0], [22.9, 28157.0], [23.0, 28169.0], [23.1, 28182.0], [23.2, 28196.0], [23.3, 28201.0], [23.4, 28421.0], [23.5, 28585.0], [23.6, 28838.0], [23.7, 29031.0], [23.8, 29272.0], [23.9, 29630.0], [24.0, 29879.0], [24.1, 30193.0], [24.2, 30372.0], [24.3, 30634.0], [24.4, 30828.0], [24.5, 31106.0], [24.6, 31380.0], [24.7, 31502.0], [24.8, 31533.0], [24.9, 31548.0], [25.0, 31564.0], [25.1, 31581.0], [25.2, 31584.0], [25.3, 31598.0], [25.4, 31609.0], [25.5, 31615.0], [25.6, 31625.0], [25.7, 31626.0], [25.8, 31631.0], [25.9, 31645.0], [26.0, 31657.0], [26.1, 31674.0], [26.2, 31692.0], [26.3, 31814.0], [26.4, 32061.0], [26.5, 32334.0], [26.6, 32560.0], [26.7, 32803.0], [26.8, 33084.0], [26.9, 33330.0], [27.0, 33648.0], [27.1, 33842.0], [27.2, 34081.0], [27.3, 34304.0], [27.4, 34527.0], [27.5, 34804.0], [27.6, 34954.0], [27.7, 35001.0], [27.8, 35030.0], [27.9, 35048.0], [28.0, 35077.0], [28.1, 35079.0], [28.2, 35092.0], [28.3, 35096.0], [28.4, 35108.0], [28.5, 35123.0], [28.6, 35138.0], [28.7, 35142.0], [28.8, 35156.0], [28.9, 35166.0], [29.0, 35181.0], [29.1, 35198.0], [29.2, 35235.0], [29.3, 35435.0], [29.4, 35773.0], [29.5, 36024.0], [29.6, 36219.0], [29.7, 36503.0], [29.8, 36724.0], [29.9, 37049.0], [30.0, 37204.0], [30.1, 37487.0], [30.2, 37812.0], [30.3, 38014.0], [30.4, 38274.0], [30.5, 38492.0], [30.6, 38525.0], [30.7, 38542.0], [30.8, 38557.0], [30.9, 38568.0], [31.0, 38574.0], [31.1, 38584.0], [31.2, 38591.0], [31.3, 38599.0], [31.4, 38619.0], [31.5, 38630.0], [31.6, 38637.0], [31.7, 38647.0], [31.8, 38663.0], [31.9, 38678.0], [32.0, 38692.0], [32.1, 38726.0], [32.2, 38904.0], [32.3, 39254.0], [32.4, 39396.0], [32.5, 39690.0], [32.6, 39943.0], [32.7, 40157.0], [32.8, 40451.0], [32.9, 40654.0], [33.0, 40960.0], [33.1, 41163.0], [33.2, 41402.0], [33.3, 41741.0], [33.4, 41953.0], [33.5, 41984.0], [33.6, 42002.0], [33.7, 42013.0], [33.8, 42022.0], [33.9, 42048.0], [34.0, 42049.0], [34.1, 42056.0], [34.2, 42068.0], [34.3, 42069.0], [34.4, 42084.0], [34.5, 42086.0], [34.6, 42097.0], [34.7, 42107.0], [34.8, 42116.0], [34.9, 42129.0], [35.0, 42171.0], [35.1, 42272.0], [35.2, 42584.0], [35.3, 42842.0], [35.4, 43046.0], [35.5, 43405.0], [35.6, 43614.0], [35.7, 43874.0], [35.8, 44109.0], [35.9, 44303.0], [36.0, 44577.0], [36.1, 44770.0], [36.2, 45133.0], [36.3, 45370.0], [36.4, 45504.0], [36.5, 45520.0], [36.6, 45541.0], [36.7, 45552.0], [36.8, 45570.0], [36.9, 45584.0], [37.0, 45596.0], [37.1, 45615.0], [37.2, 45624.0], [37.3, 45629.0], [37.4, 45646.0], [37.5, 45661.0], [37.6, 45675.0], [37.7, 45719.0], [37.8, 45739.0], [37.9, 45784.0], [38.0, 45824.0], [38.1, 46089.0], [38.2, 46314.0], [38.3, 46524.0], [38.4, 46766.0], [38.5, 46956.0], [38.6, 47213.0], [38.7, 47566.0], [38.8, 47793.0], [38.9, 48039.0], [39.0, 48296.0], [39.1, 48502.0], [39.2, 48753.0], [39.3, 48938.0], [39.4, 48985.0], [39.5, 49004.0], [39.6, 49017.0], [39.7, 49031.0], [39.8, 49033.0], [39.9, 49047.0], [40.0, 49054.0], [40.1, 49065.0], [40.2, 49078.0], [40.3, 49093.0], [40.4, 49094.0], [40.5, 49103.0], [40.6, 49115.0], [40.7, 49136.0], [40.8, 49169.0], [40.9, 49229.0], [41.0, 49354.0], [41.1, 49643.0], [41.2, 49802.0], [41.3, 50068.0], [41.4, 50459.0], [41.5, 50628.0], [41.6, 50904.0], [41.7, 51137.0], [41.8, 51355.0], [41.9, 51666.0], [42.0, 51819.0], [42.1, 52099.0], [42.2, 52345.0], [42.3, 52397.0], [42.4, 52408.0], [42.5, 52435.0], [42.6, 52451.0], [42.7, 52458.0], [42.8, 52479.0], [42.9, 52484.0], [43.0, 52495.0], [43.1, 52511.0], [43.2, 52514.0], [43.3, 52528.0], [43.4, 52532.0], [43.5, 52557.0], [43.6, 52560.0], [43.7, 52590.0], [43.8, 52611.0], [43.9, 52799.0], [44.0, 53056.0], [44.1, 53324.0], [44.2, 53542.0], [44.3, 53813.0], [44.4, 53939.0], [44.5, 54324.0], [44.6, 54597.0], [44.7, 54755.0], [44.8, 55010.0], [44.9, 55261.0], [45.0, 55485.0], [45.1, 55836.0], [45.2, 55898.0], [45.3, 55932.0], [45.4, 55933.0], [45.5, 55947.0], [45.6, 55963.0], [45.7, 55973.0], [45.8, 55980.0], [45.9, 55997.0], [46.0, 56009.0], [46.1, 56019.0], [46.2, 56021.0], [46.3, 56028.0], [46.4, 56039.0], [46.5, 56041.0], [46.6, 56043.0], [46.7, 56055.0], [46.8, 56177.0], [46.9, 56423.0], [47.0, 56716.0], [47.1, 56826.0], [47.2, 57173.0], [47.3, 57438.0], [47.4, 57660.0], [47.5, 57916.0], [47.6, 58174.0], [47.7, 58468.0], [47.8, 58796.0], [47.9, 58871.0], [48.0, 59227.0], [48.1, 59369.0], [48.2, 59396.0], [48.3, 59417.0], [48.4, 59424.0], [48.5, 59427.0], [48.6, 59430.0], [48.7, 59437.0], [48.8, 59443.0], [48.9, 59454.0], [49.0, 59455.0], [49.1, 59468.0], [49.2, 59471.0], [49.3, 59477.0], [49.4, 59487.0], [49.5, 59512.0], [49.6, 59534.0], [49.7, 59560.0], [49.8, 59796.0], [49.9, 60062.0], [50.0, 60385.0], [50.1, 60616.0], [50.2, 60846.0], [50.3, 61093.0], [50.4, 61326.0], [50.5, 61654.0], [50.6, 61837.0], [50.7, 62081.0], [50.8, 62324.0], [50.9, 62524.0], [51.0, 62769.0], [51.1, 62811.0], [51.2, 62825.0], [51.3, 62832.0], [51.4, 62844.0], [51.5, 62855.0], [51.6, 62862.0], [51.7, 62868.0], [51.8, 62876.0], [51.9, 62885.0], [52.0, 62891.0], [52.1, 62896.0], [52.2, 62908.0], [52.3, 62931.0], [52.4, 62942.0], [52.5, 62960.0], [52.6, 62998.0], [52.7, 63190.0], [52.8, 63445.0], [52.9, 63707.0], [53.0, 63909.0], [53.1, 64248.0], [53.2, 64426.0], [53.3, 64695.0], [53.4, 64891.0], [53.5, 65114.0], [53.6, 65496.0], [53.7, 65727.0], [53.8, 66025.0], [53.9, 66189.0], [54.0, 66266.0], [54.1, 66282.0], [54.2, 66327.0], [54.3, 66346.0], [54.4, 66357.0], [54.5, 66374.0], [54.6, 66386.0], [54.7, 66397.0], [54.8, 66409.0], [54.9, 66419.0], [55.0, 66423.0], [55.1, 66437.0], [55.2, 66440.0], [55.3, 66456.0], [55.4, 66482.0], [55.5, 66503.0], [55.6, 66557.0], [55.7, 66874.0], [55.8, 66952.0], [55.9, 66986.0], [56.0, 67152.0], [56.1, 67228.0], [56.2, 67303.0], [56.3, 67338.0], [56.4, 67415.0], [56.5, 67476.0], [56.6, 67586.0], [56.7, 67681.0], [56.8, 67756.0], [56.9, 67801.0], [57.0, 67985.0], [57.1, 68017.0], [57.2, 68033.0], [57.3, 68035.0], [57.4, 68070.0], [57.5, 68083.0], [57.6, 68099.0], [57.7, 68113.0], [57.8, 68129.0], [57.9, 68136.0], [58.0, 68176.0], [58.1, 68189.0], [58.2, 68203.0], [58.3, 68273.0], [58.4, 68353.0], [58.5, 68625.0], [58.6, 68799.0], [58.7, 69108.0], [58.8, 69320.0], [58.9, 69561.0], [59.0, 69756.0], [59.1, 69773.0], [59.2, 69789.0], [59.3, 69804.0], [59.4, 69811.0], [59.5, 69814.0], [59.6, 69816.0], [59.7, 69820.0], [59.8, 69825.0], [59.9, 69829.0], [60.0, 69834.0], [60.1, 69840.0], [60.2, 69843.0], [60.3, 69846.0], [60.4, 69850.0], [60.5, 69854.0], [60.6, 69859.0], [60.7, 69865.0], [60.8, 69867.0], [60.9, 69873.0], [61.0, 69877.0], [61.1, 69882.0], [61.2, 69883.0], [61.3, 69885.0], [61.4, 69890.0], [61.5, 69893.0], [61.6, 69898.0], [61.7, 69901.0], [61.8, 69905.0], [61.9, 69907.0], [62.0, 69910.0], [62.1, 69913.0], [62.2, 69915.0], [62.3, 69916.0], [62.4, 69920.0], [62.5, 69923.0], [62.6, 69924.0], [62.7, 69929.0], [62.8, 69932.0], [62.9, 69934.0], [63.0, 69935.0], [63.1, 69937.0], [63.2, 69938.0], [63.3, 69942.0], [63.4, 69944.0], [63.5, 69946.0], [63.6, 69946.0], [63.7, 69948.0], [63.8, 69949.0], [63.9, 69951.0], [64.0, 69951.0], [64.1, 69953.0], [64.2, 69955.0], [64.3, 69957.0], [64.4, 69960.0], [64.5, 69960.0], [64.6, 69962.0], [64.7, 69963.0], [64.8, 69964.0], [64.9, 69965.0], [65.0, 69968.0], [65.1, 69972.0], [65.2, 69976.0], [65.3, 69977.0], [65.4, 69979.0], [65.5, 69980.0], [65.6, 69982.0], [65.7, 69983.0], [65.8, 69985.0], [65.9, 69986.0], [66.0, 69988.0], [66.1, 69989.0], [66.2, 69991.0], [66.3, 69993.0], [66.4, 69993.0], [66.5, 69995.0], [66.6, 69996.0], [66.7, 69998.0], [66.8, 69998.0], [66.9, 69999.0], [67.0, 70000.0], [67.1, 70001.0], [67.2, 70003.0], [67.3, 70006.0], [67.4, 70006.0], [67.5, 70007.0], [67.6, 70008.0], [67.7, 70009.0], [67.8, 70011.0], [67.9, 70013.0], [68.0, 70014.0], [68.1, 70016.0], [68.2, 70017.0], [68.3, 70019.0], [68.4, 70021.0], [68.5, 70021.0], [68.6, 70022.0], [68.7, 70023.0], [68.8, 70026.0], [68.9, 70027.0], [69.0, 70028.0], [69.1, 70029.0], [69.2, 70030.0], [69.3, 70031.0], [69.4, 70031.0], [69.5, 70032.0], [69.6, 70034.0], [69.7, 70037.0], [69.8, 70038.0], [69.9, 70039.0], [70.0, 70041.0], [70.1, 70043.0], [70.2, 70044.0], [70.3, 70045.0], [70.4, 70045.0], [70.5, 70046.0], [70.6, 70047.0], [70.7, 70048.0], [70.8, 70049.0], [70.9, 70051.0], [71.0, 70054.0], [71.1, 70059.0], [71.2, 70060.0], [71.3, 70061.0], [71.4, 70063.0], [71.5, 70064.0], [71.6, 70066.0], [71.7, 70067.0], [71.8, 70068.0], [71.9, 70070.0], [72.0, 70072.0], [72.1, 70075.0], [72.2, 70076.0], [72.3, 70080.0], [72.4, 70082.0], [72.5, 70083.0], [72.6, 70086.0], [72.7, 70091.0], [72.8, 70093.0], [72.9, 70095.0], [73.0, 70098.0], [73.1, 70102.0], [73.2, 70106.0], [73.3, 70107.0], [73.4, 70109.0], [73.5, 70114.0], [73.6, 70117.0], [73.7, 70122.0], [73.8, 70123.0], [73.9, 70129.0], [74.0, 70131.0], [74.1, 70134.0], [74.2, 70137.0], [74.3, 70142.0], [74.4, 70148.0], [74.5, 70156.0], [74.6, 70158.0], [74.7, 70167.0], [74.8, 70170.0], [74.9, 70176.0], [75.0, 70186.0], [75.1, 70193.0], [75.2, 70200.0], [75.3, 70208.0], [75.4, 70220.0], [75.5, 70239.0], [75.6, 70248.0], [75.7, 70266.0], [75.8, 70276.0], [75.9, 70282.0], [76.0, 70284.0], [76.1, 70288.0], [76.2, 70296.0], [76.3, 70307.0], [76.4, 70318.0], [76.5, 70326.0], [76.6, 70331.0], [76.7, 70333.0], [76.8, 70337.0], [76.9, 70343.0], [77.0, 70346.0], [77.1, 70350.0], [77.2, 70359.0], [77.3, 70362.0], [77.4, 70365.0], [77.5, 70370.0], [77.6, 70374.0], [77.7, 70378.0], [77.8, 70380.0], [77.9, 70383.0], [78.0, 70387.0], [78.1, 70394.0], [78.2, 70398.0], [78.3, 70401.0], [78.4, 70402.0], [78.5, 70409.0], [78.6, 70412.0], [78.7, 70415.0], [78.8, 70417.0], [78.9, 70418.0], [79.0, 70422.0], [79.1, 70430.0], [79.2, 70432.0], [79.3, 70435.0], [79.4, 70439.0], [79.5, 70444.0], [79.6, 70445.0], [79.7, 70449.0], [79.8, 70455.0], [79.9, 70458.0], [80.0, 70461.0], [80.1, 70468.0], [80.2, 70474.0], [80.3, 70477.0], [80.4, 70485.0], [80.5, 70487.0], [80.6, 70493.0], [80.7, 70501.0], [80.8, 70505.0], [80.9, 70511.0], [81.0, 70517.0], [81.1, 70524.0], [81.2, 70533.0], [81.3, 70535.0], [81.4, 70546.0], [81.5, 70549.0], [81.6, 70557.0], [81.7, 70564.0], [81.8, 70565.0], [81.9, 70575.0], [82.0, 70578.0], [82.1, 70581.0], [82.2, 70591.0], [82.3, 70594.0], [82.4, 70595.0], [82.5, 70605.0], [82.6, 70608.0], [82.7, 70608.0], [82.8, 70613.0], [82.9, 70622.0], [83.0, 70623.0], [83.1, 70625.0], [83.2, 70631.0], [83.3, 70639.0], [83.4, 70641.0], [83.5, 70645.0], [83.6, 70648.0], [83.7, 70651.0], [83.8, 70655.0], [83.9, 70656.0], [84.0, 70658.0], [84.1, 70665.0], [84.2, 70670.0], [84.3, 70672.0], [84.4, 70676.0], [84.5, 70680.0], [84.6, 70682.0], [84.7, 70684.0], [84.8, 70686.0], [84.9, 70690.0], [85.0, 70693.0], [85.1, 70698.0], [85.2, 70701.0], [85.3, 70702.0], [85.4, 70708.0], [85.5, 70709.0], [85.6, 70713.0], [85.7, 70716.0], [85.8, 70716.0], [85.9, 70718.0], [86.0, 70722.0], [86.1, 70726.0], [86.2, 70728.0], [86.3, 70732.0], [86.4, 70735.0], [86.5, 70738.0], [86.6, 70741.0], [86.7, 70744.0], [86.8, 70749.0], [86.9, 70750.0], [87.0, 70756.0], [87.1, 70761.0], [87.2, 70762.0], [87.3, 70765.0], [87.4, 70771.0], [87.5, 70773.0], [87.6, 70778.0], [87.7, 70779.0], [87.8, 70782.0], [87.9, 70788.0], [88.0, 70791.0], [88.1, 70794.0], [88.2, 70799.0], [88.3, 70806.0], [88.4, 70809.0], [88.5, 70817.0], [88.6, 70825.0], [88.7, 70842.0], [88.8, 70849.0], [88.9, 70857.0], [89.0, 70884.0], [89.1, 70892.0], [89.2, 70914.0], [89.3, 70923.0], [89.4, 70941.0], [89.5, 70946.0], [89.6, 70960.0], [89.7, 70979.0], [89.8, 71008.0], [89.9, 71043.0], [90.0, 71070.0], [90.1, 71073.0], [90.2, 71112.0], [90.3, 71149.0], [90.4, 71165.0], [90.5, 71177.0], [90.6, 71180.0], [90.7, 71210.0], [90.8, 71237.0], [90.9, 71275.0], [91.0, 71281.0], [91.1, 71292.0], [91.2, 71305.0], [91.3, 71313.0], [91.4, 71323.0], [91.5, 71327.0], [91.6, 71336.0], [91.7, 71341.0], [91.8, 71344.0], [91.9, 71353.0], [92.0, 71355.0], [92.1, 71362.0], [92.2, 71368.0], [92.3, 71370.0], [92.4, 71372.0], [92.5, 71373.0], [92.6, 71383.0], [92.7, 71386.0], [92.8, 71388.0], [92.9, 71391.0], [93.0, 71392.0], [93.1, 71396.0], [93.2, 71400.0], [93.3, 71403.0], [93.4, 71404.0], [93.5, 71407.0], [93.6, 71411.0], [93.7, 71413.0], [93.8, 71418.0], [93.9, 71419.0], [94.0, 71421.0], [94.1, 71422.0], [94.2, 71423.0], [94.3, 71426.0], [94.4, 71428.0], [94.5, 71430.0], [94.6, 71433.0], [94.7, 71434.0], [94.8, 71436.0], [94.9, 71440.0], [95.0, 71441.0], [95.1, 71446.0], [95.2, 71447.0], [95.3, 71450.0], [95.4, 71451.0], [95.5, 71453.0], [95.6, 71454.0], [95.7, 71455.0], [95.8, 71457.0], [95.9, 71461.0], [96.0, 71462.0], [96.1, 71463.0], [96.2, 71465.0], [96.3, 71467.0], [96.4, 71470.0], [96.5, 71471.0], [96.6, 71473.0], [96.7, 71476.0], [96.8, 71479.0], [96.9, 71481.0], [97.0, 71482.0], [97.1, 71484.0], [97.2, 71485.0], [97.3, 71486.0], [97.4, 71488.0], [97.5, 71490.0], [97.6, 71494.0], [97.7, 71495.0], [97.8, 71496.0], [97.9, 71499.0], [98.0, 71499.0], [98.1, 71507.0], [98.2, 71509.0], [98.3, 71511.0], [98.4, 71513.0], [98.5, 71516.0], [98.6, 71517.0], [98.7, 71519.0], [98.8, 71524.0], [98.9, 71526.0], [99.0, 71528.0], [99.1, 71531.0], [99.2, 71534.0], [99.3, 71541.0], [99.4, 71544.0], [99.5, 71547.0], [99.6, 71553.0], [99.7, 71570.0], [99.8, 71575.0], [99.9, 71591.0], [100.0, 71621.0]], "isOverall": false, "label": "Judge接口压测", "isController": false}], "supportsControllersDiscrimination": true, "maxX": 100.0, "title": "Response Time Percentiles"}},
        getOptions: function() {
            return {
                series: {
                    points: { show: false }
                },
                legend: {
                    noColumns: 2,
                    show: true,
                    container: '#legendResponseTimePercentiles'
                },
                xaxis: {
                    tickDecimals: 1,
                    axisLabel: "Percentiles",
                    axisLabelUseCanvas: true,
                    axisLabelFontSizePixels: 12,
                    axisLabelFontFamily: 'Verdana, Arial',
                    axisLabelPadding: 20,
                },
                yaxis: {
                    axisLabel: "Percentile value in ms",
                    axisLabelUseCanvas: true,
                    axisLabelFontSizePixels: 12,
                    axisLabelFontFamily: 'Verdana, Arial',
                    axisLabelPadding: 20
                },
                grid: {
                    hoverable: true // IMPORTANT! this is needed for tooltip to
                                    // work
                },
                tooltip: true,
                tooltipOpts: {
                    content: "%s : %x.2 percentile was %y ms"
                },
                selection: { mode: "xy" },
            };
        },
        createGraph: function() {
            var data = this.data;
            var dataset = prepareData(data.result.series, $("#choicesResponseTimePercentiles"));
            var options = this.getOptions();
            prepareOptions(options, data);
            $.plot($("#flotResponseTimesPercentiles"), dataset, options);
            // setup overview
            $.plot($("#overviewResponseTimesPercentiles"), dataset, prepareOverviewOptions(options));
        }
};

/**
 * @param elementId Id of element where we display message
 */
function setEmptyGraph(elementId) {
    $(function() {
        $(elementId).text("No graph series with filter="+seriesFilter);
    });
}

// Response times percentiles
function refreshResponseTimePercentiles() {
    var infos = responseTimePercentilesInfos;
    prepareSeries(infos.data);
    if(infos.data.result.series.length == 0) {
        setEmptyGraph("#bodyResponseTimePercentiles");
        return;
    }
    if (isGraph($("#flotResponseTimesPercentiles"))){
        infos.createGraph();
    } else {
        var choiceContainer = $("#choicesResponseTimePercentiles");
        createLegend(choiceContainer, infos);
        infos.createGraph();
        setGraphZoomable("#flotResponseTimesPercentiles", "#overviewResponseTimesPercentiles");
        $('#bodyResponseTimePercentiles .legendColorBox > div').each(function(i){
            $(this).clone().prependTo(choiceContainer.find("li").eq(i));
        });
    }
}

var responseTimeDistributionInfos = {
        data: {"result": {"minY": 1.0, "minX": 500.0, "maxY": 283.0, "series": [{"data": [[66700.0, 1.0], [68300.0, 5.0], [69900.0, 245.0], [71500.0, 88.0], [32900.0, 2.0], [33700.0, 1.0], [34500.0, 4.0], [35300.0, 3.0], [36100.0, 1.0], [36900.0, 1.0], [37700.0, 1.0], [38500.0, 36.0], [39300.0, 2.0], [40100.0, 2.0], [40900.0, 2.0], [41700.0, 2.0], [42500.0, 4.0], [43300.0, 1.0], [44100.0, 2.0], [44900.0, 3.0], [45700.0, 12.0], [46500.0, 4.0], [47300.0, 3.0], [48900.0, 9.0], [49700.0, 1.0], [50500.0, 2.0], [51300.0, 3.0], [52100.0, 2.0], [52900.0, 2.0], [53700.0, 2.0], [54500.0, 2.0], [55300.0, 1.0], [56100.0, 3.0], [56900.0, 1.0], [58500.0, 2.0], [59300.0, 8.0], [60100.0, 2.0], [60900.0, 2.0], [61700.0, 1.0], [62500.0, 1.0], [63300.0, 1.0], [65800.0, 1.0], [67400.0, 6.0], [69000.0, 1.0], [70600.0, 125.0], [500.0, 1.0], [600.0, 7.0], [1100.0, 3.0], [1200.0, 5.0], [1400.0, 2.0], [1500.0, 5.0], [1600.0, 1.0], [1800.0, 4.0], [1900.0, 3.0], [2000.0, 1.0], [2300.0, 6.0], [2200.0, 1.0], [2400.0, 1.0], [2600.0, 4.0], [2700.0, 3.0], [2800.0, 1.0], [3100.0, 12.0], [3200.0, 22.0], [3300.0, 13.0], [3400.0, 13.0], [3500.0, 13.0], [3600.0, 14.0], [3700.0, 2.0], [3800.0, 3.0], [3900.0, 2.0], [4100.0, 1.0], [4200.0, 2.0], [4300.0, 3.0], [66500.0, 6.0], [68100.0, 26.0], [4400.0, 2.0], [4600.0, 2.0], [69700.0, 13.0], [71300.0, 92.0], [4700.0, 2.0], [4800.0, 3.0], [4900.0, 1.0], [5000.0, 2.0], [5100.0, 4.0], [5200.0, 2.0], [5400.0, 2.0], [5500.0, 3.0], [5600.0, 2.0], [5700.0, 1.0], [5800.0, 1.0], [5900.0, 2.0], [6000.0, 3.0], [6100.0, 1.0], [6200.0, 1.0], [6300.0, 2.0], [6400.0, 2.0], [6500.0, 3.0], [6600.0, 1.0], [6700.0, 5.0], [6800.0, 9.0], [6900.0, 30.0], [7000.0, 23.0], [7100.0, 12.0], [7200.0, 2.0], [7300.0, 1.0], [7400.0, 3.0], [7500.0, 2.0], [7600.0, 1.0], [7700.0, 1.0], [7800.0, 4.0], [8000.0, 3.0], [8100.0, 1.0], [8200.0, 3.0], [8400.0, 2.0], [8600.0, 2.0], [8800.0, 2.0], [9000.0, 2.0], [9200.0, 2.0], [9600.0, 2.0], [9800.0, 2.0], [10000.0, 3.0], [10200.0, 2.0], [10400.0, 8.0], [10600.0, 29.0], [10800.0, 1.0], [11400.0, 1.0], [11600.0, 1.0], [11800.0, 3.0], [12000.0, 1.0], [12600.0, 1.0], [12800.0, 4.0], [13000.0, 4.0], [13200.0, 4.0], [13400.0, 4.0], [13600.0, 4.0], [13800.0, 3.0], [14000.0, 33.0], [14200.0, 9.0], [14400.0, 2.0], [14800.0, 2.0], [15200.0, 2.0], [15400.0, 1.0], [15600.0, 3.0], [15800.0, 1.0], [16000.0, 3.0], [16200.0, 3.0], [17200.0, 2.0], [16400.0, 2.0], [16800.0, 4.0], [17600.0, 34.0], [18000.0, 2.0], [18400.0, 1.0], [19200.0, 1.0], [18800.0, 1.0], [19600.0, 1.0], [20000.0, 3.0], [20400.0, 2.0], [20800.0, 3.0], [21200.0, 4.0], [21600.0, 4.0], [22000.0, 4.0], [22400.0, 1.0], [22800.0, 1.0], [23200.0, 2.0], [23600.0, 2.0], [24000.0, 2.0], [24400.0, 1.0], [24800.0, 2.0], [25200.0, 2.0], [26400.0, 2.0], [26800.0, 2.0], [27600.0, 4.0], [28000.0, 34.0], [28400.0, 4.0], [28800.0, 3.0], [29200.0, 4.0], [29600.0, 3.0], [30800.0, 1.0], [31200.0, 2.0], [31600.0, 38.0], [32000.0, 2.0], [32400.0, 2.0], [32800.0, 3.0], [33600.0, 3.0], [35200.0, 4.0], [36000.0, 3.0], [36800.0, 2.0], [37600.0, 2.0], [38400.0, 4.0], [39200.0, 3.0], [40000.0, 1.0], [40800.0, 2.0], [41600.0, 1.0], [43200.0, 2.0], [44000.0, 2.0], [45600.0, 29.0], [47200.0, 4.0], [48000.0, 4.0], [48800.0, 1.0], [49600.0, 3.0], [50400.0, 3.0], [51200.0, 2.0], [52000.0, 2.0], [52800.0, 2.0], [53600.0, 1.0], [55200.0, 2.0], [56000.0, 39.0], [56800.0, 2.0], [57600.0, 3.0], [58400.0, 2.0], [59200.0, 3.0], [60000.0, 1.0], [60800.0, 3.0], [61600.0, 3.0], [62400.0, 2.0], [63200.0, 2.0], [64000.0, 2.0], [64800.0, 3.0], [67200.0, 4.0], [68800.0, 2.0], [70400.0, 110.0], [67100.0, 7.0], [68700.0, 3.0], [70300.0, 96.0], [33100.0, 1.0], [33900.0, 2.0], [34700.0, 3.0], [36300.0, 1.0], [37100.0, 1.0], [37900.0, 2.0], [38700.0, 6.0], [39500.0, 2.0], [41100.0, 2.0], [41900.0, 9.0], [42700.0, 1.0], [44300.0, 2.0], [45100.0, 3.0], [45900.0, 2.0], [46700.0, 4.0], [47500.0, 4.0], [48300.0, 1.0], [49100.0, 17.0], [49900.0, 3.0], [50700.0, 1.0], [51500.0, 2.0], [52300.0, 6.0], [53100.0, 1.0], [53900.0, 2.0], [54700.0, 3.0], [56300.0, 1.0], [57100.0, 1.0], [57900.0, 1.0], [58700.0, 1.0], [59500.0, 11.0], [60300.0, 3.0], [61100.0, 1.0], [61900.0, 2.0], [62700.0, 5.0], [63500.0, 1.0], [64300.0, 2.0], [65100.0, 3.0], [66200.0, 11.0], [67800.0, 4.0], [69400.0, 2.0], [71000.0, 18.0], [66900.0, 8.0], [68500.0, 1.0], [70100.0, 98.0], [16500.0, 2.0], [16900.0, 1.0], [17300.0, 2.0], [17700.0, 9.0], [18100.0, 1.0], [18500.0, 2.0], [18900.0, 2.0], [19300.0, 2.0], [19700.0, 2.0], [20100.0, 1.0], [21300.0, 1.0], [20500.0, 2.0], [20900.0, 12.0], [21700.0, 1.0], [22100.0, 1.0], [22500.0, 3.0], [22900.0, 3.0], [23300.0, 3.0], [23700.0, 2.0], [24500.0, 23.0], [25700.0, 2.0], [26100.0, 2.0], [26500.0, 2.0], [26900.0, 1.0], [28100.0, 37.0], [28500.0, 3.0], [28900.0, 2.0], [29300.0, 1.0], [29700.0, 2.0], [30100.0, 2.0], [30500.0, 2.0], [30900.0, 1.0], [31300.0, 1.0], [31700.0, 2.0], [32500.0, 2.0], [33000.0, 1.0], [33800.0, 2.0], [35400.0, 2.0], [36200.0, 3.0], [37000.0, 3.0], [37800.0, 2.0], [38600.0, 33.0], [39400.0, 1.0], [40200.0, 3.0], [41000.0, 2.0], [41800.0, 3.0], [43400.0, 4.0], [44200.0, 2.0], [45000.0, 1.0], [45800.0, 5.0], [47400.0, 1.0], [48200.0, 3.0], [49000.0, 49.0], [49800.0, 1.0], [50600.0, 2.0], [51400.0, 1.0], [52200.0, 1.0], [53000.0, 2.0], [53800.0, 3.0], [54600.0, 2.0], [55400.0, 3.0], [56200.0, 1.0], [57000.0, 3.0], [57800.0, 2.0], [58600.0, 2.0], [59400.0, 59.0], [60200.0, 1.0], [61000.0, 2.0], [61800.0, 2.0], [62600.0, 2.0], [63400.0, 3.0], [64200.0, 4.0], [65000.0, 2.0], [66000.0, 5.0], [67600.0, 5.0], [69200.0, 2.0], [70800.0, 44.0], [67500.0, 5.0], [69100.0, 3.0], [70700.0, 143.0], [33300.0, 2.0], [34100.0, 2.0], [34900.0, 5.0], [35700.0, 2.0], [36500.0, 2.0], [37300.0, 3.0], [38100.0, 2.0], [38900.0, 1.0], [39700.0, 3.0], [40500.0, 2.0], [41300.0, 1.0], [42100.0, 19.0], [43700.0, 1.0], [44500.0, 4.0], [45300.0, 3.0], [46100.0, 1.0], [46900.0, 4.0], [47700.0, 1.0], [48500.0, 3.0], [49300.0, 2.0], [50100.0, 1.0], [50900.0, 2.0], [51700.0, 2.0], [52500.0, 33.0], [53300.0, 3.0], [54100.0, 2.0], [54900.0, 2.0], [55700.0, 1.0], [56500.0, 1.0], [57300.0, 1.0], [58100.0, 2.0], [58900.0, 1.0], [59700.0, 3.0], [60500.0, 1.0], [61300.0, 1.0], [62100.0, 1.0], [62900.0, 22.0], [63700.0, 1.0], [65300.0, 1.0], [66600.0, 1.0], [68200.0, 8.0], [69800.0, 111.0], [71400.0, 224.0], [65700.0, 2.0], [67300.0, 9.0], [68900.0, 1.0], [70500.0, 82.0], [8300.0, 1.0], [8500.0, 2.0], [8700.0, 2.0], [8900.0, 2.0], [9100.0, 2.0], [9300.0, 2.0], [9500.0, 3.0], [9700.0, 1.0], [10100.0, 2.0], [10300.0, 1.0], [10500.0, 39.0], [10700.0, 3.0], [10900.0, 4.0], [11100.0, 3.0], [11300.0, 4.0], [11500.0, 2.0], [11700.0, 2.0], [12100.0, 3.0], [12300.0, 4.0], [12500.0, 3.0], [13900.0, 1.0], [14100.0, 37.0], [14300.0, 1.0], [14500.0, 1.0], [14700.0, 3.0], [14900.0, 3.0], [15100.0, 2.0], [15300.0, 3.0], [15500.0, 1.0], [15700.0, 3.0], [15900.0, 1.0], [16100.0, 1.0], [16300.0, 1.0], [16600.0, 3.0], [17000.0, 2.0], [17400.0, 8.0], [18200.0, 3.0], [17800.0, 1.0], [18600.0, 2.0], [19000.0, 2.0], [19400.0, 2.0], [19800.0, 1.0], [20200.0, 1.0], [20600.0, 2.0], [21000.0, 41.0], [21400.0, 1.0], [21800.0, 2.0], [22200.0, 1.0], [22600.0, 3.0], [23000.0, 2.0], [23400.0, 2.0], [23800.0, 2.0], [24200.0, 3.0], [24600.0, 43.0], [25000.0, 4.0], [25400.0, 4.0], [25800.0, 1.0], [26200.0, 1.0], [26600.0, 1.0], [27000.0, 2.0], [27400.0, 3.0], [28200.0, 4.0], [29000.0, 2.0], [29400.0, 3.0], [29800.0, 2.0], [30200.0, 3.0], [30600.0, 3.0], [31000.0, 3.0], [31400.0, 3.0], [31800.0, 4.0], [32200.0, 2.0], [32600.0, 2.0], [33200.0, 3.0], [34000.0, 2.0], [34800.0, 3.0], [35600.0, 3.0], [36400.0, 1.0], [37200.0, 1.0], [38000.0, 1.0], [38800.0, 2.0], [39600.0, 2.0], [40400.0, 2.0], [41200.0, 2.0], [42000.0, 49.0], [42800.0, 3.0], [43600.0, 3.0], [45200.0, 1.0], [46000.0, 3.0], [48400.0, 1.0], [49200.0, 6.0], [50000.0, 2.0], [50800.0, 2.0], [51600.0, 2.0], [52400.0, 35.0], [53200.0, 1.0], [54000.0, 1.0], [54800.0, 1.0], [55600.0, 3.0], [56400.0, 3.0], [57200.0, 3.0], [58000.0, 2.0], [58800.0, 4.0], [59600.0, 1.0], [60400.0, 1.0], [61200.0, 3.0], [62000.0, 2.0], [62800.0, 50.0], [63600.0, 2.0], [64400.0, 2.0], [65200.0, 2.0], [66400.0, 36.0], [68000.0, 28.0], [69600.0, 2.0], [71200.0, 25.0], [66300.0, 26.0], [69500.0, 2.0], [67900.0, 1.0], [71100.0, 23.0], [33500.0, 2.0], [34300.0, 3.0], [35100.0, 35.0], [36700.0, 2.0], [37500.0, 1.0], [38300.0, 1.0], [39100.0, 2.0], [39900.0, 2.0], [40700.0, 2.0], [41500.0, 2.0], [42300.0, 2.0], [43100.0, 1.0], [43900.0, 1.0], [44700.0, 4.0], [45500.0, 32.0], [46300.0, 3.0], [48700.0, 3.0], [49500.0, 2.0], [50300.0, 1.0], [51100.0, 1.0], [51900.0, 2.0], [52700.0, 1.0], [53500.0, 2.0], [54300.0, 4.0], [55100.0, 2.0], [55900.0, 33.0], [56700.0, 3.0], [57500.0, 1.0], [58300.0, 2.0], [59900.0, 4.0], [60700.0, 1.0], [61500.0, 2.0], [62300.0, 2.0], [63100.0, 2.0], [63900.0, 2.0], [64700.0, 2.0], [65500.0, 4.0], [67000.0, 2.0], [68600.0, 2.0], [70200.0, 48.0], [66100.0, 2.0], [67700.0, 8.0], [69300.0, 2.0], [70900.0, 26.0], [17100.0, 1.0], [17500.0, 28.0], [17900.0, 2.0], [18300.0, 1.0], [18700.0, 3.0], [19100.0, 3.0], [19500.0, 2.0], [19900.0, 2.0], [20300.0, 2.0], [20700.0, 1.0], [21100.0, 22.0], [21500.0, 1.0], [22300.0, 1.0], [21900.0, 1.0], [23100.0, 1.0], [23500.0, 1.0], [23900.0, 2.0], [24300.0, 3.0], [24700.0, 10.0], [25100.0, 2.0], [25500.0, 2.0], [25900.0, 5.0], [26300.0, 3.0], [26700.0, 3.0], [27100.0, 5.0], [27500.0, 1.0], [27900.0, 5.0], [28300.0, 1.0], [28700.0, 1.0], [29900.0, 1.0], [30300.0, 3.0], [30700.0, 2.0], [31100.0, 2.0], [31500.0, 34.0], [31900.0, 2.0], [32300.0, 2.0], [32700.0, 1.0], [33400.0, 1.0], [34200.0, 1.0], [35000.0, 32.0], [35800.0, 3.0], [36600.0, 3.0], [37400.0, 2.0], [38200.0, 3.0], [39000.0, 2.0], [39800.0, 1.0], [40600.0, 2.0], [41400.0, 2.0], [42200.0, 2.0], [43000.0, 4.0], [43800.0, 3.0], [45400.0, 1.0], [46200.0, 1.0], [47800.0, 3.0], [48600.0, 1.0], [49400.0, 1.0], [50200.0, 1.0], [51000.0, 3.0], [51800.0, 2.0], [52600.0, 5.0], [53400.0, 2.0], [54200.0, 1.0], [55000.0, 2.0], [55800.0, 5.0], [56600.0, 2.0], [57400.0, 3.0], [58200.0, 1.0], [59000.0, 2.0], [60600.0, 2.0], [61400.0, 2.0], [62200.0, 3.0], [63000.0, 2.0], [63800.0, 3.0], [64600.0, 3.0], [65400.0, 1.0], [66800.0, 3.0], [68400.0, 1.0], [70000.0, 283.0], [71600.0, 4.0]], "isOverall": false, "label": "Judge接口压测", "isController": false}], "supportsControllersDiscrimination": true, "granularity": 100, "maxX": 71600.0, "title": "Response Time Distribution"}},
        getOptions: function() {
            var granularity = this.data.result.granularity;
            return {
                legend: {
                    noColumns: 2,
                    show: true,
                    container: '#legendResponseTimeDistribution'
                },
                xaxis:{
                    axisLabel: "Response times in ms",
                    axisLabelUseCanvas: true,
                    axisLabelFontSizePixels: 12,
                    axisLabelFontFamily: 'Verdana, Arial',
                    axisLabelPadding: 20,
                },
                yaxis: {
                    axisLabel: "Number of responses",
                    axisLabelUseCanvas: true,
                    axisLabelFontSizePixels: 12,
                    axisLabelFontFamily: 'Verdana, Arial',
                    axisLabelPadding: 20,
                },
                bars : {
                    show: true,
                    barWidth: this.data.result.granularity
                },
                grid: {
                    hoverable: true // IMPORTANT! this is needed for tooltip to
                                    // work
                },
                tooltip: true,
                tooltipOpts: {
                    content: function(label, xval, yval, flotItem){
                        return yval + " responses for " + label + " were between " + xval + " and " + (xval + granularity) + " ms";
                    }
                }
            };
        },
        createGraph: function() {
            var data = this.data;
            var options = this.getOptions();
            prepareOptions(options, data);
            $.plot($("#flotResponseTimeDistribution"), prepareData(data.result.series, $("#choicesResponseTimeDistribution")), options);
        }

};

// Response time distribution
function refreshResponseTimeDistribution() {
    var infos = responseTimeDistributionInfos;
    prepareSeries(infos.data);
    if(infos.data.result.series.length == 0) {
        setEmptyGraph("#bodyResponseTimeDistribution");
        return;
    }
    if (isGraph($("#flotResponseTimeDistribution"))){
        infos.createGraph();
    }else{
        var choiceContainer = $("#choicesResponseTimeDistribution");
        createLegend(choiceContainer, infos);
        infos.createGraph();
        $('#footerResponseTimeDistribution .legendColorBox > div').each(function(i){
            $(this).clone().prependTo(choiceContainer.find("li").eq(i));
        });
    }
};


var syntheticResponseTimeDistributionInfos = {
        data: {"result": {"minY": 18.0, "minX": 1.0, "ticks": [[0, "Requests having \nresponse time <= 500ms"], [1, "Requests having \nresponse time > 500ms and <= 1,500ms"], [2, "Requests having \nresponse time > 1,500ms"], [3, "Requests in error"]], "maxY": 4608.0, "series": [{"data": [], "color": "#9ACD32", "isOverall": false, "label": "Requests having \nresponse time <= 500ms", "isController": false}, {"data": [[1.0, 18.0]], "color": "yellow", "isOverall": false, "label": "Requests having \nresponse time > 500ms and <= 1,500ms", "isController": false}, {"data": [[2.0, 4608.0]], "color": "orange", "isOverall": false, "label": "Requests having \nresponse time > 1,500ms", "isController": false}, {"data": [], "color": "#FF6347", "isOverall": false, "label": "Requests in error", "isController": false}], "supportsControllersDiscrimination": false, "maxX": 2.0, "title": "Synthetic Response Times Distribution"}},
        getOptions: function() {
            return {
                legend: {
                    noColumns: 2,
                    show: true,
                    container: '#legendSyntheticResponseTimeDistribution'
                },
                xaxis:{
                    axisLabel: "Response times ranges",
                    axisLabelUseCanvas: true,
                    axisLabelFontSizePixels: 12,
                    axisLabelFontFamily: 'Verdana, Arial',
                    axisLabelPadding: 20,
                    tickLength:0,
                    min:-0.5,
                    max:3.5
                },
                yaxis: {
                    axisLabel: "Number of responses",
                    axisLabelUseCanvas: true,
                    axisLabelFontSizePixels: 12,
                    axisLabelFontFamily: 'Verdana, Arial',
                    axisLabelPadding: 20,
                },
                bars : {
                    show: true,
                    align: "center",
                    barWidth: 0.25,
                    fill:.75
                },
                grid: {
                    hoverable: true // IMPORTANT! this is needed for tooltip to
                                    // work
                },
                tooltip: true,
                tooltipOpts: {
                    content: function(label, xval, yval, flotItem){
                        return yval + " " + label;
                    }
                }
            };
        },
        createGraph: function() {
            var data = this.data;
            var options = this.getOptions();
            prepareOptions(options, data);
            options.xaxis.ticks = data.result.ticks;
            $.plot($("#flotSyntheticResponseTimeDistribution"), prepareData(data.result.series, $("#choicesSyntheticResponseTimeDistribution")), options);
        }

};

// Response time distribution
function refreshSyntheticResponseTimeDistribution() {
    var infos = syntheticResponseTimeDistributionInfos;
    prepareSeries(infos.data, true);
    if (isGraph($("#flotSyntheticResponseTimeDistribution"))){
        infos.createGraph();
    }else{
        var choiceContainer = $("#choicesSyntheticResponseTimeDistribution");
        createLegend(choiceContainer, infos);
        infos.createGraph();
        $('#footerSyntheticResponseTimeDistribution .legendColorBox > div').each(function(i){
            $(this).clone().prependTo(choiceContainer.find("li").eq(i));
        });
    }
};

var activeThreadsOverTimeInfos = {
        data: {"result": {"minY": 21.02439024390244, "minX": 1.74634116E12, "maxY": 1000.0, "series": [{"data": [[1.74634152E12, 21.02439024390244], [1.74634122E12, 464.86737089201904], [1.7463414E12, 985.5884433962264], [1.74634128E12, 918.7747957992998], [1.74634146E12, 463.0735468564652], [1.74634116E12, 120.33639143730889], [1.74634134E12, 1000.0]], "isOverall": false, "label": "梯度测试", "isController": false}], "supportsControllersDiscrimination": false, "granularity": 60000, "maxX": 1.74634152E12, "title": "Active Threads Over Time"}},
        getOptions: function() {
            return {
                series: {
                    stack: true,
                    lines: {
                        show: true,
                        fill: true
                    },
                    points: {
                        show: true
                    }
                },
                xaxis: {
                    mode: "time",
                    timeformat: getTimeFormat(this.data.result.granularity),
                    axisLabel: getElapsedTimeLabel(this.data.result.granularity),
                    axisLabelUseCanvas: true,
                    axisLabelFontSizePixels: 12,
                    axisLabelFontFamily: 'Verdana, Arial',
                    axisLabelPadding: 20,
                },
                yaxis: {
                    axisLabel: "Number of active threads",
                    axisLabelUseCanvas: true,
                    axisLabelFontSizePixels: 12,
                    axisLabelFontFamily: 'Verdana, Arial',
                    axisLabelPadding: 20
                },
                legend: {
                    noColumns: 6,
                    show: true,
                    container: '#legendActiveThreadsOverTime'
                },
                grid: {
                    hoverable: true // IMPORTANT! this is needed for tooltip to
                                    // work
                },
                selection: {
                    mode: 'xy'
                },
                tooltip: true,
                tooltipOpts: {
                    content: "%s : At %x there were %y active threads"
                }
            };
        },
        createGraph: function() {
            var data = this.data;
            var dataset = prepareData(data.result.series, $("#choicesActiveThreadsOverTime"));
            var options = this.getOptions();
            prepareOptions(options, data);
            $.plot($("#flotActiveThreadsOverTime"), dataset, options);
            // setup overview
            $.plot($("#overviewActiveThreadsOverTime"), dataset, prepareOverviewOptions(options));
        }
};

// Active Threads Over Time
function refreshActiveThreadsOverTime(fixTimestamps) {
    var infos = activeThreadsOverTimeInfos;
    prepareSeries(infos.data);
    if(fixTimestamps) {
        fixTimeStamps(infos.data.result.series, 28800000);
    }
    if(isGraph($("#flotActiveThreadsOverTime"))) {
        infos.createGraph();
    }else{
        var choiceContainer = $("#choicesActiveThreadsOverTime");
        createLegend(choiceContainer, infos);
        infos.createGraph();
        setGraphZoomable("#flotActiveThreadsOverTime", "#overviewActiveThreadsOverTime");
        $('#footerActiveThreadsOverTime .legendColorBox > div').each(function(i){
            $(this).clone().prependTo(choiceContainer.find("li").eq(i));
        });
    }
};

var timeVsThreadsInfos = {
        data: {"result": {"minY": 3256.0, "minX": 1.0, "maxY": 71621.0, "series": [{"data": [[2.0, 66937.0], [3.0, 66952.0], [4.0, 66874.0], [5.0, 66920.0], [6.0, 66966.0], [7.0, 67135.0], [8.0, 67028.0], [9.0, 67152.0], [10.0, 67164.0], [12.0, 67336.5], [13.0, 67303.0], [14.0, 67196.0], [15.0, 67181.0], [16.0, 67305.0], [17.0, 67463.0], [18.0, 67322.0], [19.0, 67415.0], [20.0, 67337.0], [21.0, 67338.0], [22.0, 67228.0], [23.0, 67415.0], [24.0, 67368.0], [25.0, 67695.0], [26.0, 67476.0], [27.0, 67586.0], [28.0, 67602.0], [29.0, 67586.0], [30.0, 67525.0], [31.0, 67572.0], [33.0, 67649.0], [32.0, 67681.0], [35.0, 67709.0], [34.0, 67757.0], [37.0, 67770.0], [36.0, 67756.0], [39.0, 67801.0], [38.0, 67786.0], [41.0, 68077.0], [40.0, 68031.0], [43.0, 23097.333333333332], [42.0, 68092.0], [44.0, 11894.833333333334], [45.0, 34318.5], [47.0, 67985.0], [46.0, 68000.0], [49.0, 68203.0], [48.0, 68108.0], [50.0, 3454.2328767123295], [51.0, 68049.0], [53.0, 68005.0], [52.0, 68035.0], [55.0, 68019.0], [54.0, 68005.0], [57.0, 3488.0], [56.0, 68112.0], [58.0, 35614.75], [59.0, 35846.0], [61.0, 35655.5], [60.0, 68055.0], [63.0, 68129.0], [62.0, 68038.0], [65.0, 3256.0], [66.0, 46519.333333333336], [67.0, 68176.0], [64.0, 68099.0], [71.0, 68096.0], [70.0, 68035.0], [69.0, 68129.0], [68.0, 68129.0], [75.0, 68189.0], [74.0, 68189.0], [73.0, 68157.0], [72.0, 68095.0], [79.0, 35809.0], [78.0, 68067.0], [77.0, 68143.0], [76.0, 68128.0], [83.0, 68177.0], [82.0, 68207.0], [81.0, 68191.0], [80.0, 68083.0], [85.0, 35879.0], [87.0, 68070.0], [86.0, 68102.0], [84.0, 68100.0], [88.0, 24953.333333333332], [90.0, 35748.0], [91.0, 68198.0], [89.0, 68196.0], [92.0, 35718.5], [95.0, 35756.5], [94.0, 68121.0], [93.0, 68200.0], [99.0, 68353.0], [98.0, 68273.0], [97.0, 68336.0], [96.0, 68288.0], [100.0, 4837.397260273972], [103.0, 37799.5], [102.0, 70134.0], [101.0, 70193.0], [104.0, 37888.5], [106.0, 37851.0], [107.0, 70163.0], [105.0, 70240.0], [111.0, 37932.0], [110.0, 70081.0], [109.0, 70130.0], [108.0, 70241.0], [113.0, 37896.5], [114.0, 37946.0], [115.0, 70220.0], [112.0, 70222.0], [117.0, 38025.0], [119.0, 70359.0], [118.0, 70345.0], [116.0, 70266.0], [123.0, 38137.0], [122.0, 70409.0], [121.0, 70455.0], [120.0, 70485.0], [127.0, 70566.0], [126.0, 70486.0], [125.0, 70472.0], [124.0, 70534.0], [131.0, 38250.5], [132.0, 38360.5], [135.0, 38355.5], [134.0, 70830.0], [133.0, 70799.0], [130.0, 70750.0], [129.0, 70595.0], [128.0, 70782.0], [140.0, 38383.0], [143.0, 38425.0], [142.0, 70771.0], [141.0, 70849.0], [138.0, 70770.0], [137.0, 70776.5], [145.0, 38454.5], [150.0, 8632.162162162162], [151.0, 70792.0], [148.0, 70715.0], [146.0, 70806.0], [144.0, 70760.0], [153.0, 38871.5], [159.0, 38903.0], [158.0, 70841.0], [156.0, 70778.0], [155.0, 70667.0], [154.0, 70761.0], [152.0, 70716.0], [164.0, 38887.0], [167.0, 38948.5], [166.0, 70825.0], [165.0, 70780.0], [163.0, 70622.0], [162.0, 70730.0], [161.0, 70809.0], [160.0, 70763.0], [169.0, 28205.0], [175.0, 70748.0], [174.0, 70811.0], [173.0, 70808.0], [172.0, 70729.0], [171.0, 70605.0], [170.0, 70744.0], [168.0, 70698.0], [176.0, 38825.5], [177.0, 38841.0], [183.0, 38895.0], [182.0, 70859.0], [181.0, 70843.0], [180.0, 70736.0], [179.0, 70595.0], [178.0, 70641.0], [190.0, 38972.0], [191.0, 70793.0], [189.0, 70826.5], [187.0, 70749.0], [186.0, 70765.0], [184.0, 70795.0], [195.0, 38986.0], [199.0, 39030.5], [198.0, 70946.0], [197.0, 70814.0], [194.0, 70780.0], [193.0, 70795.0], [192.0, 70762.0], [200.0, 9758.287671232874], [201.0, 40682.5], [205.0, 50805.333333333336], [207.0, 70831.0], [206.0, 70941.0], [203.0, 70819.0], [202.0, 70914.0], [208.0, 40672.0], [214.0, 40733.0], [215.0, 70891.0], [213.0, 70814.0], [212.0, 70923.0], [211.0, 70846.0], [210.0, 70892.0], [209.0, 70782.0], [216.0, 40757.0], [219.0, 40708.5], [223.0, 70842.0], [222.0, 70920.0], [221.0, 70919.0], [218.0, 70950.0], [225.0, 30667.666666666668], [229.0, 40744.0], [231.0, 70837.0], [230.0, 70884.0], [228.0, 70792.0], [227.0, 70929.0], [226.0, 70980.0], [224.0, 70796.0], [235.0, 40790.0], [238.0, 40828.0], [239.0, 71025.0], [237.0, 70962.0], [236.0, 70976.0], [234.0, 70898.0], [233.0, 71051.0], [232.0, 70851.0], [242.0, 50949.666666666664], [244.0, 40836.5], [247.0, 40906.5], [246.0, 71073.0], [245.0, 71117.0], [243.0, 71056.0], [240.0, 70979.0], [250.0, 11578.236111111111], [252.0, 41460.0], [255.0, 71392.0], [254.0, 71315.0], [253.0, 71239.0], [251.0, 71179.0], [249.0, 71274.0], [248.0, 71166.0], [257.0, 11782.0], [258.0, 51534.333333333336], [259.0, 71450.0], [261.0, 41644.5], [260.0, 71282.0], [263.0, 41635.5], [256.0, 71283.0], [262.0, 71420.0], [271.0, 71404.0], [270.0, 71434.0], [269.0, 71481.0], [268.0, 71448.0], [267.0, 71294.0], [266.0, 71423.66666666667], [285.0, 71475.0], [273.0, 12069.0], [274.0, 51627.333333333336], [278.0, 41795.5], [277.0, 71452.0], [276.0, 71454.0], [279.0, 71314.0], [272.0, 71468.0], [281.0, 51616.666666666664], [287.0, 71335.0], [286.0, 71382.0], [284.0, 71458.0], [275.0, 71298.0], [283.0, 71230.0], [282.0, 71384.0], [300.0, 14560.904109589044], [288.0, 41808.5], [291.0, 71324.0], [290.0, 71452.0], [295.0, 71372.0], [292.0, 41940.5], [294.0, 41935.25], [303.0, 71404.0], [296.0, 71343.0], [302.0, 71495.0], [301.0, 71495.0], [299.0, 71389.0], [298.0, 71504.5], [318.0, 71511.0], [306.0, 37111.6], [310.0, 42816.5], [309.0, 71532.0], [308.0, 71547.0], [311.0, 71409.0], [304.0, 71372.0], [317.0, 33251.66666666667], [319.0, 71359.0], [316.0, 71529.0], [307.0, 71423.0], [315.0, 71424.0], [314.0, 71510.0], [312.0, 71407.0], [334.0, 42873.5], [322.0, 42760.5], [325.0, 42828.0], [324.0, 71574.0], [327.0, 71418.0], [321.0, 71608.0], [320.0, 71544.0], [326.0, 71510.0], [333.0, 42849.5], [335.0, 42735.0], [332.0, 71538.0], [323.0, 71436.0], [331.0, 71416.0], [330.0, 71588.0], [329.0, 71370.0], [328.0, 71573.0], [349.0, 52373.333333333336], [344.0, 42729.0], [338.0, 57145.25], [339.0, 71338.0], [346.0, 42845.0], [350.0, 16086.847222222223], [351.0, 44299.5], [347.0, 71418.0], [345.0, 71542.0], [343.0, 71388.0], [342.0, 71448.0], [341.0, 71447.0], [340.0, 71462.0], [366.0, 71514.0], [357.0, 44376.5], [356.0, 71511.0], [361.0, 35379.33333333333], [364.0, 17333.0], [365.0, 71529.5], [363.0, 71374.0], [362.0, 71544.0], [360.0, 71494.0], [358.0, 71511.0], [353.0, 71621.0], [352.0, 71463.0], [355.0, 71403.0], [354.0, 71527.0], [380.0, 44524.5], [370.0, 44504.0], [371.0, 71426.0], [375.0, 71454.0], [369.0, 71487.0], [368.0, 71501.0], [372.0, 44478.0], [374.0, 53510.666666666664], [383.0, 71439.0], [377.0, 71531.0], [376.0, 71470.0], [382.0, 71486.0], [381.0, 71517.0], [379.0, 71423.0], [378.0, 71515.0], [398.0, 71451.0], [389.0, 44608.5], [388.0, 71484.0], [391.0, 71405.0], [385.0, 71577.0], [384.0, 71470.0], [387.0, 71439.0], [386.0, 71531.0], [390.0, 71468.0], [393.0, 44584.0], [394.0, 44608.5], [396.0, 44483.5], [399.0, 71420.0], [397.0, 71453.0], [395.0, 71391.0], [392.0, 71419.0], [413.0, 71497.0], [400.0, 18342.64383561644], [401.0, 44745.5], [404.0, 53600.666666666664], [405.0, 71499.0], [407.0, 71451.0], [406.0, 71528.0], [410.0, 35887.33333333333], [409.0, 71576.0], [408.0, 71421.0], [415.0, 71511.0], [414.0, 71495.0], [412.0, 71467.0], [402.0, 71499.0], [411.0, 71451.0], [428.0, 44883.5], [417.0, 44868.0], [419.0, 71461.0], [418.0, 71553.0], [423.0, 71464.0], [416.0, 71433.0], [420.0, 44842.0], [421.0, 71462.0], [422.0, 44855.0], [424.0, 44861.5], [425.0, 71602.0], [431.0, 71477.0], [430.0, 71415.0], [429.0, 71444.0], [427.0, 71430.0], [426.0, 71570.0], [447.0, 45023.5], [439.0, 45019.0], [436.0, 44960.5], [438.0, 71400.0], [437.0, 71463.0], [440.0, 45031.0], [441.0, 71524.0], [446.0, 71569.0], [445.0, 71446.0], [444.0, 71430.0], [435.0, 71388.0], [434.0, 71527.0], [433.0, 71525.5], [443.0, 71400.0], [442.0, 71509.0], [462.0, 71420.0], [449.0, 45084.0], [450.0, 21018.780821917808], [451.0, 71372.0], [452.0, 46194.0], [455.0, 71383.0], [448.0, 71478.0], [453.0, 71360.0], [456.0, 21076.0], [457.0, 21060.0], [459.0, 71392.0], [458.0, 71434.0], [463.0, 71499.0], [461.0, 71482.0], [460.0, 71391.0], [478.0, 37892.66666666667], [468.0, 46222.0], [469.0, 46254.5], [471.0, 46261.0], [470.0, 71526.0], [479.0, 71454.0], [477.0, 71436.5], [467.0, 71435.0], [466.0, 71482.0], [465.0, 71449.0], [464.0, 71403.0], [475.0, 71374.0], [474.0, 71466.0], [473.0, 71434.0], [472.0, 71373.0], [494.0, 71496.0], [482.0, 46249.5], [488.0, 46269.0], [489.0, 46261.5], [495.0, 71481.0], [493.0, 71434.33333333333], [483.0, 71484.0], [490.0, 71421.0], [487.0, 71483.0], [481.0, 71410.0], [486.0, 71499.0], [485.0, 71424.0], [484.0, 71347.0], [510.0, 71481.0], [499.0, 21133.0], [500.0, 23091.81333333334], [503.0, 71526.5], [496.0, 71327.0], [498.0, 71389.0], [497.0, 71372.0], [501.0, 71482.0], [506.0, 47400.0], [507.0, 47455.0], [511.0, 47469.0], [509.0, 71417.0], [505.0, 71336.0], [504.0, 71321.0], [538.0, 47691.5], [518.0, 47597.0], [519.0, 47576.5], [537.0, 71334.0], [536.0, 71411.0], [526.0, 47637.5], [525.0, 71531.0], [524.0, 71440.0], [523.0, 71549.0], [522.0, 71407.0], [521.0, 71331.0], [520.0, 71392.0], [527.0, 71483.0], [512.0, 71310.0], [514.0, 71390.0], [513.0, 71279.0], [517.0, 71498.0], [516.0, 71467.5], [528.0, 47590.5], [531.0, 47675.5], [530.0, 71393.0], [529.0, 71345.0], [533.0, 71551.0], [532.0, 71519.0], [534.0, 47671.0], [535.0, 47705.5], [543.0, 71472.0], [542.0, 71426.0], [541.0, 71519.0], [540.0, 71535.0], [539.0, 71490.0], [551.0, 55864.666666666664], [547.0, 47796.5], [546.0, 47783.0], [545.0, 71364.0], [544.0, 71410.0], [559.0, 71494.0], [558.0, 71461.0], [557.0, 71494.0], [556.0, 71480.0], [550.0, 24599.305555555547], [549.0, 71521.0], [548.0, 71489.0], [554.0, 48052.5], [553.0, 71339.0], [552.0, 71370.0], [555.0, 48020.0], [561.0, 47957.5], [564.0, 48020.0], [563.0, 71508.0], [562.0, 71479.0], [565.0, 71370.0], [567.0, 71386.0], [566.0, 71401.0], [575.0, 48117.5], [560.0, 71383.0], [574.0, 71443.0], [573.0, 71426.0], [572.0, 71413.0], [571.0, 71507.0], [570.0, 71415.0], [569.0, 71292.0], [568.0, 71323.0], [605.0, 71486.0], [600.0, 27399.594594594597], [579.0, 48096.5], [576.0, 48056.0], [578.0, 71489.0], [577.0, 71397.0], [591.0, 71489.0], [590.0, 71521.0], [581.0, 48063.5], [580.0, 71428.0], [583.0, 71492.0], [582.0, 71538.0], [585.0, 48048.0], [584.0, 71396.0], [586.0, 71506.0], [588.0, 71365.0], [587.0, 71474.0], [589.0, 48084.5], [595.0, 40392.666666666664], [594.0, 71489.0], [593.0, 71456.0], [592.0, 71396.0], [597.0, 71444.0], [596.0, 71411.0], [599.0, 71503.0], [598.0, 71472.0], [606.0, 49858.5], [604.0, 71422.0], [603.0, 71440.0], [602.0, 71486.0], [601.0, 71457.0], [607.0, 71534.0], [615.0, 49819.5], [609.0, 49743.5], [608.0, 71473.0], [623.0, 71470.0], [622.0, 71455.0], [621.0, 71440.0], [620.0, 71441.0], [619.0, 71470.0], [618.0, 71549.0], [617.0, 71486.0], [610.0, 49858.5], [612.0, 49766.0], [611.0, 71440.0], [614.0, 71517.0], [613.0, 71470.0], [624.0, 28184.0], [625.0, 71438.0], [639.0, 71436.0], [626.0, 49735.0], [627.0, 49727.0], [629.0, 71454.0], [628.0, 71346.0], [631.0, 71529.0], [630.0, 71453.0], [634.0, 49826.0], [633.0, 71453.0], [632.0, 71453.0], [635.0, 71436.0], [637.0, 71423.0], [636.0, 71391.0], [638.0, 42588.666666666664], [666.0, 71328.0], [670.0, 40255.5], [641.0, 49763.0], [644.0, 49745.0], [643.0, 71414.0], [642.0, 71434.0], [645.0, 71400.0], [647.0, 71429.0], [646.0, 71462.0], [665.0, 71282.0], [664.0, 71362.0], [667.0, 71313.0], [669.0, 71341.0], [668.0, 71280.0], [650.0, 28968.150684931516], [649.0, 71369.0], [648.0, 71400.0], [651.0, 71386.0], [653.0, 71370.0], [652.0, 71324.0], [654.0, 50538.5], [655.0, 50518.0], [640.0, 71433.0], [657.0, 50509.5], [660.0, 50521.0], [659.0, 71355.0], [658.0, 71353.0], [661.0, 50553.5], [663.0, 71342.0], [662.0, 71418.0], [671.0, 71295.0], [656.0, 71323.0], [679.0, 71158.0], [700.0, 31919.135135135126], [688.0, 43893.666666666664], [683.0, 50631.0], [682.0, 71174.0], [681.0, 71235.0], [680.0, 71173.0], [684.0, 71172.0], [686.0, 71237.0], [685.0, 71112.0], [696.0, 71104.0], [678.0, 71233.0], [677.0, 71223.0], [676.0, 71206.0], [675.0, 71192.0], [674.0, 71281.0], [673.0, 71312.0], [672.0, 71278.0], [687.0, 71238.0], [692.0, 43881.333333333336], [691.0, 71144.0], [690.0, 71275.0], [689.0, 71178.0], [695.0, 71164.5], [693.0, 71149.0], [703.0, 71072.0], [702.0, 71071.0], [701.0, 71072.0], [699.0, 71124.5], [697.0, 71202.0], [733.0, 70674.0], [708.0, 44805.666666666664], [712.0, 51302.5], [713.0, 71005.0], [715.0, 70944.0], [714.0, 71052.0], [716.0, 51272.0], [718.0, 44703.333333333336], [717.0, 70928.0], [719.0, 70957.0], [705.0, 71087.0], [704.0, 71006.0], [707.0, 70978.0], [706.0, 71132.0], [726.0, 51218.0], [725.0, 70817.0], [724.0, 70759.0], [723.0, 70960.0], [722.0, 70895.0], [721.0, 70894.0], [720.0, 70941.0], [727.0, 70786.0], [728.0, 51207.0], [711.0, 70992.0], [710.0, 71008.0], [709.0, 70963.0], [730.0, 70708.0], [729.0, 70754.0], [732.0, 70582.0], [731.0, 70738.0], [735.0, 70718.0], [734.0, 70629.0], [763.0, 52870.0], [736.0, 44684.333333333336], [743.0, 31674.0], [742.0, 70639.0], [741.0, 70622.0], [740.0, 70593.0], [739.0, 70639.0], [738.0, 70608.0], [737.0, 70625.0], [744.0, 57697.0], [745.0, 70655.0], [746.0, 51149.5], [747.0, 51133.0], [749.0, 70701.0], [748.0, 70637.0], [750.0, 33654.73611111111], [751.0, 35014.0], [758.0, 52933.0], [757.0, 70711.0], [756.0, 70650.0], [755.0, 70635.0], [754.0, 70699.0], [753.0, 70683.0], [752.0, 70778.0], [759.0, 70788.0], [767.0, 70756.0], [766.0, 70740.0], [765.0, 70725.0], [764.0, 70600.0], [762.0, 52902.5], [761.0, 70681.0], [760.0, 52917.5], [794.0, 52923.5], [772.0, 52863.0], [775.0, 46951.666666666664], [774.0, 70740.0], [773.0, 70710.0], [793.0, 70631.0], [792.0, 70692.0], [783.0, 52910.0], [769.0, 70708.0], [768.0, 70740.0], [771.0, 70723.0], [770.0, 70678.0], [782.0, 70738.0], [781.0, 70691.0], [780.0, 70708.0], [779.0, 70679.0], [778.0, 70665.0], [777.0, 70680.0], [776.0, 70743.0], [790.0, 58862.666666666664], [791.0, 52925.0], [796.0, 52886.0], [795.0, 70676.0], [797.0, 70646.0], [799.0, 70755.0], [784.0, 70693.0], [786.0, 70647.0], [785.0, 70601.0], [788.0, 70647.0], [787.0, 70709.0], [798.0, 70709.0], [806.0, 53271.5], [800.0, 35654.273972602736], [801.0, 53236.0], [805.0, 53297.0], [804.0, 70726.0], [803.0, 70772.0], [802.0, 70788.0], [815.0, 47609.333333333336], [814.0, 70622.0], [813.0, 70716.0], [812.0, 70681.0], [811.0, 70789.0], [810.0, 70806.0], [809.0, 70697.0], [808.0, 70696.0], [817.0, 53366.0], [816.0, 70714.0], [818.0, 70807.0], [820.0, 70665.0], [819.0, 70792.0], [823.0, 70756.0], [822.0, 70696.0], [824.0, 53455.0], [807.0, 70791.0], [826.0, 70821.0], [825.0, 70727.0], [827.0, 53492.0], [829.0, 36219.0], [828.0, 70634.0], [830.0, 70711.5], [831.0, 70773.0], [856.0, 59996.666666666664], [833.0, 53512.5], [835.0, 53565.5], [834.0, 70852.0], [837.0, 70557.0], [836.0, 70682.0], [839.0, 70761.0], [838.0, 70653.0], [844.0, 36497.5], [843.0, 70730.0], [842.0, 70761.0], [841.0, 70651.0], [840.0, 70684.0], [845.0, 70575.5], [846.0, 53562.5], [847.0, 70716.0], [832.0, 70726.0], [850.0, 38516.45205479451], [853.0, 54598.0], [852.0, 70562.0], [851.0, 70699.0], [854.0, 70608.0], [857.0, 54589.0], [858.0, 70779.0], [860.0, 70718.0], [859.0, 70778.0], [862.0, 70701.0], [849.0, 70623.0], [848.0, 70684.0], [861.0, 70578.0], [888.0, 38585.0], [866.0, 54654.0], [865.0, 54623.5], [864.0, 70749.0], [879.0, 70766.0], [878.0, 70720.0], [871.0, 54630.5], [870.0, 70722.0], [869.0, 70690.0], [868.0, 70595.0], [867.0, 70765.0], [874.0, 54645.0], [873.0, 70675.0], [872.0, 70736.0], [876.0, 70596.0], [875.0, 70717.0], [877.0, 54646.0], [885.0, 54696.5], [887.0, 54690.5], [886.0, 70702.0], [895.0, 70684.0], [882.0, 70721.0], [881.0, 70651.0], [884.0, 70640.0], [883.0, 70703.0], [894.0, 70589.0], [893.0, 70653.0], [892.0, 70670.0], [891.0, 70715.0], [890.0, 70715.0], [889.0, 70662.5], [900.0, 39922.5890410959], [924.0, 51295.333333333336], [896.0, 49278.333333333336], [897.0, 70639.0], [899.0, 70576.0], [898.0, 70668.0], [903.0, 51063.0], [902.0, 70575.0], [901.0, 70620.0], [921.0, 70645.5], [923.0, 70685.0], [922.0, 70716.0], [909.0, 41397.0], [908.0, 70606.5], [906.0, 70591.0], [905.0, 70636.0], [904.0, 70561.0], [910.0, 70585.0], [911.0, 56016.0], [912.0, 41402.0], [918.0, 56080.0], [917.0, 70686.0], [916.0, 70672.0], [915.0, 70672.0], [914.0, 70688.0], [913.0, 70610.5], [919.0, 70715.0], [927.0, 70716.0], [926.0, 70656.0], [925.0, 70639.0], [953.0, 64860.8], [932.0, 51368.666666666664], [943.0, 70716.0], [929.0, 70669.0], [928.0, 70608.0], [931.0, 70625.0], [930.0, 70656.0], [942.0, 70670.0], [941.0, 70656.0], [952.0, 70580.5], [935.0, 70703.0], [934.0, 70658.0], [933.0, 70626.0], [938.0, 51439.333333333336], [937.0, 70658.0], [936.0, 70641.0], [939.0, 70610.0], [940.0, 56231.5], [947.0, 56275.5], [950.0, 43567.72368421053], [949.0, 70586.125], [948.0, 70593.16666666667], [955.0, 51573.666666666664], [954.0, 70535.75], [957.0, 70410.67647058825], [956.0, 70402.38095238096], [958.0, 64765.6], [959.0, 70458.0], [944.0, 70629.83333333334], [946.0, 70570.0], [945.0, 70629.75], [986.0, 66479.5], [966.0, 56340.5], [967.0, 42272.0], [984.0, 70310.0], [972.0, 56380.0], [971.0, 70387.0], [970.0, 70433.0], [969.0, 70449.0], [968.0, 70318.0], [973.0, 70387.0], [975.0, 42389.0], [961.0, 70501.0], [960.0, 70380.0], [963.0, 70437.0], [962.0, 70439.0], [965.0, 70344.0], [964.0, 70422.0], [974.0, 70402.0], [983.0, 56404.5], [982.0, 70432.0], [981.0, 70431.0], [980.0, 70339.0], [979.0, 70432.0], [978.0, 70401.0], [977.0, 70477.0], [976.0, 70292.0], [988.0, 61179.0], [987.0, 70455.57142857143], [991.0, 70421.16666666666], [990.0, 70482.25], [989.0, 70414.25], [995.0, 70379.83333333333], [997.0, 67171.66666666669], [1000.0, 62022.748131109816], [999.0, 70101.8], [998.0, 70173.85714285714], [996.0, 70359.48148148145], [994.0, 70401.80597014929], [993.0, 70378.0], [992.0, 70462.0], [1.0, 66965.0]], "isOverall": false, "label": "Judge接口压测", "isController": false}, {"data": [[715.0495028102038, 50334.86662343277]], "isOverall": false, "label": "Judge接口压测-Aggregated", "isController": false}], "supportsControllersDiscrimination": true, "maxX": 1000.0, "title": "Time VS Threads"}},
        getOptions: function() {
            return {
                series: {
                    lines: {
                        show: true
                    },
                    points: {
                        show: true
                    }
                },
                xaxis: {
                    axisLabel: "Number of active threads",
                    axisLabelUseCanvas: true,
                    axisLabelFontSizePixels: 12,
                    axisLabelFontFamily: 'Verdana, Arial',
                    axisLabelPadding: 20,
                },
                yaxis: {
                    axisLabel: "Average response times in ms",
                    axisLabelUseCanvas: true,
                    axisLabelFontSizePixels: 12,
                    axisLabelFontFamily: 'Verdana, Arial',
                    axisLabelPadding: 20
                },
                legend: { noColumns: 2,show: true, container: '#legendTimeVsThreads' },
                selection: {
                    mode: 'xy'
                },
                grid: {
                    hoverable: true // IMPORTANT! this is needed for tooltip to work
                },
                tooltip: true,
                tooltipOpts: {
                    content: "%s: At %x.2 active threads, Average response time was %y.2 ms"
                }
            };
        },
        createGraph: function() {
            var data = this.data;
            var dataset = prepareData(data.result.series, $("#choicesTimeVsThreads"));
            var options = this.getOptions();
            prepareOptions(options, data);
            $.plot($("#flotTimesVsThreads"), dataset, options);
            // setup overview
            $.plot($("#overviewTimesVsThreads"), dataset, prepareOverviewOptions(options));
        }
};

// Time vs threads
function refreshTimeVsThreads(){
    var infos = timeVsThreadsInfos;
    prepareSeries(infos.data);
    if(infos.data.result.series.length == 0) {
        setEmptyGraph("#bodyTimeVsThreads");
        return;
    }
    if(isGraph($("#flotTimesVsThreads"))){
        infos.createGraph();
    }else{
        var choiceContainer = $("#choicesTimeVsThreads");
        createLegend(choiceContainer, infos);
        infos.createGraph();
        setGraphZoomable("#flotTimesVsThreads", "#overviewTimesVsThreads");
        $('#footerTimeVsThreads .legendColorBox > div').each(function(i){
            $(this).clone().prependTo(choiceContainer.find("li").eq(i));
        });
    }
};

var bytesThroughputOverTimeInfos = {
        data : {"result": {"minY": 120.26666666666667, "minX": 1.74634116E12, "maxY": 12326.6, "series": [{"data": [[1.74634152E12, 120.26666666666667], [1.74634122E12, 2499.2], [1.7463414E12, 2487.4666666666667], [1.74634128E12, 2513.866666666667], [1.74634146E12, 2472.8], [1.74634116E12, 959.2], [1.74634134E12, 2516.8]], "isOverall": false, "label": "Bytes received per second", "isController": false}, {"data": [[1.74634152E12, 589.0333333333333], [1.74634122E12, 12240.4], [1.7463414E12, 12182.933333333332], [1.74634128E12, 12312.233333333334], [1.74634146E12, 12111.1], [1.74634116E12, 4697.9], [1.74634134E12, 12326.6]], "isOverall": false, "label": "Bytes sent per second", "isController": false}], "supportsControllersDiscrimination": false, "granularity": 60000, "maxX": 1.74634152E12, "title": "Bytes Throughput Over Time"}},
        getOptions : function(){
            return {
                series: {
                    lines: {
                        show: true
                    },
                    points: {
                        show: true
                    }
                },
                xaxis: {
                    mode: "time",
                    timeformat: getTimeFormat(this.data.result.granularity),
                    axisLabel: getElapsedTimeLabel(this.data.result.granularity) ,
                    axisLabelUseCanvas: true,
                    axisLabelFontSizePixels: 12,
                    axisLabelFontFamily: 'Verdana, Arial',
                    axisLabelPadding: 20,
                },
                yaxis: {
                    axisLabel: "Bytes / sec",
                    axisLabelUseCanvas: true,
                    axisLabelFontSizePixels: 12,
                    axisLabelFontFamily: 'Verdana, Arial',
                    axisLabelPadding: 20,
                },
                legend: {
                    noColumns: 2,
                    show: true,
                    container: '#legendBytesThroughputOverTime'
                },
                selection: {
                    mode: "xy"
                },
                grid: {
                    hoverable: true // IMPORTANT! this is needed for tooltip to
                                    // work
                },
                tooltip: true,
                tooltipOpts: {
                    content: "%s at %x was %y"
                }
            };
        },
        createGraph : function() {
            var data = this.data;
            var dataset = prepareData(data.result.series, $("#choicesBytesThroughputOverTime"));
            var options = this.getOptions();
            prepareOptions(options, data);
            $.plot($("#flotBytesThroughputOverTime"), dataset, options);
            // setup overview
            $.plot($("#overviewBytesThroughputOverTime"), dataset, prepareOverviewOptions(options));
        }
};

// Bytes throughput Over Time
function refreshBytesThroughputOverTime(fixTimestamps) {
    var infos = bytesThroughputOverTimeInfos;
    prepareSeries(infos.data);
    if(fixTimestamps) {
        fixTimeStamps(infos.data.result.series, 28800000);
    }
    if(isGraph($("#flotBytesThroughputOverTime"))){
        infos.createGraph();
    }else{
        var choiceContainer = $("#choicesBytesThroughputOverTime");
        createLegend(choiceContainer, infos);
        infos.createGraph();
        setGraphZoomable("#flotBytesThroughputOverTime", "#overviewBytesThroughputOverTime");
        $('#footerBytesThroughputOverTime .legendColorBox > div').each(function(i){
            $(this).clone().prependTo(choiceContainer.find("li").eq(i));
        });
    }
}

var responseTimesOverTimeInfos = {
        data: {"result": {"minY": 5272.278287461778, "minX": 1.74634116E12, "maxY": 70926.53499406889, "series": [{"data": [[1.74634152E12, 67407.21951219514], [1.74634122E12, 20640.44953051642], [1.7463414E12, 70222.52594339612], [1.74634128E12, 42669.4095682614], [1.74634146E12, 70926.53499406889], [1.74634116E12, 5272.278287461778], [1.74634134E12, 63949.0023310023]], "isOverall": false, "label": "Judge接口压测", "isController": false}], "supportsControllersDiscrimination": true, "granularity": 60000, "maxX": 1.74634152E12, "title": "Response Time Over Time"}},
        getOptions: function(){
            return {
                series: {
                    lines: {
                        show: true
                    },
                    points: {
                        show: true
                    }
                },
                xaxis: {
                    mode: "time",
                    timeformat: getTimeFormat(this.data.result.granularity),
                    axisLabel: getElapsedTimeLabel(this.data.result.granularity),
                    axisLabelUseCanvas: true,
                    axisLabelFontSizePixels: 12,
                    axisLabelFontFamily: 'Verdana, Arial',
                    axisLabelPadding: 20,
                },
                yaxis: {
                    axisLabel: "Average response time in ms",
                    axisLabelUseCanvas: true,
                    axisLabelFontSizePixels: 12,
                    axisLabelFontFamily: 'Verdana, Arial',
                    axisLabelPadding: 20,
                },
                legend: {
                    noColumns: 2,
                    show: true,
                    container: '#legendResponseTimesOverTime'
                },
                selection: {
                    mode: 'xy'
                },
                grid: {
                    hoverable: true // IMPORTANT! this is needed for tooltip to
                                    // work
                },
                tooltip: true,
                tooltipOpts: {
                    content: "%s : at %x Average response time was %y ms"
                }
            };
        },
        createGraph: function() {
            var data = this.data;
            var dataset = prepareData(data.result.series, $("#choicesResponseTimesOverTime"));
            var options = this.getOptions();
            prepareOptions(options, data);
            $.plot($("#flotResponseTimesOverTime"), dataset, options);
            // setup overview
            $.plot($("#overviewResponseTimesOverTime"), dataset, prepareOverviewOptions(options));
        }
};

// Response Times Over Time
function refreshResponseTimeOverTime(fixTimestamps) {
    var infos = responseTimesOverTimeInfos;
    prepareSeries(infos.data);
    if(infos.data.result.series.length == 0) {
        setEmptyGraph("#bodyResponseTimeOverTime");
        return;
    }
    if(fixTimestamps) {
        fixTimeStamps(infos.data.result.series, 28800000);
    }
    if(isGraph($("#flotResponseTimesOverTime"))){
        infos.createGraph();
    }else{
        var choiceContainer = $("#choicesResponseTimesOverTime");
        createLegend(choiceContainer, infos);
        infos.createGraph();
        setGraphZoomable("#flotResponseTimesOverTime", "#overviewResponseTimesOverTime");
        $('#footerResponseTimesOverTime .legendColorBox > div').each(function(i){
            $(this).clone().prependTo(choiceContainer.find("li").eq(i));
        });
    }
};

var latenciesOverTimeInfos = {
        data: {"result": {"minY": 5272.214067278287, "minX": 1.74634116E12, "maxY": 70926.51957295364, "series": [{"data": [[1.74634152E12, 67407.21951219514], [1.74634122E12, 20640.421361502362], [1.7463414E12, 70222.51179245285], [1.74634128E12, 42669.39673278891], [1.74634146E12, 70926.51957295364], [1.74634116E12, 5272.214067278287], [1.74634134E12, 63948.9813519814]], "isOverall": false, "label": "Judge接口压测", "isController": false}], "supportsControllersDiscrimination": true, "granularity": 60000, "maxX": 1.74634152E12, "title": "Latencies Over Time"}},
        getOptions: function() {
            return {
                series: {
                    lines: {
                        show: true
                    },
                    points: {
                        show: true
                    }
                },
                xaxis: {
                    mode: "time",
                    timeformat: getTimeFormat(this.data.result.granularity),
                    axisLabel: getElapsedTimeLabel(this.data.result.granularity),
                    axisLabelUseCanvas: true,
                    axisLabelFontSizePixels: 12,
                    axisLabelFontFamily: 'Verdana, Arial',
                    axisLabelPadding: 20,
                },
                yaxis: {
                    axisLabel: "Average response latencies in ms",
                    axisLabelUseCanvas: true,
                    axisLabelFontSizePixels: 12,
                    axisLabelFontFamily: 'Verdana, Arial',
                    axisLabelPadding: 20,
                },
                legend: {
                    noColumns: 2,
                    show: true,
                    container: '#legendLatenciesOverTime'
                },
                selection: {
                    mode: 'xy'
                },
                grid: {
                    hoverable: true // IMPORTANT! this is needed for tooltip to
                                    // work
                },
                tooltip: true,
                tooltipOpts: {
                    content: "%s : at %x Average latency was %y ms"
                }
            };
        },
        createGraph: function () {
            var data = this.data;
            var dataset = prepareData(data.result.series, $("#choicesLatenciesOverTime"));
            var options = this.getOptions();
            prepareOptions(options, data);
            $.plot($("#flotLatenciesOverTime"), dataset, options);
            // setup overview
            $.plot($("#overviewLatenciesOverTime"), dataset, prepareOverviewOptions(options));
        }
};

// Latencies Over Time
function refreshLatenciesOverTime(fixTimestamps) {
    var infos = latenciesOverTimeInfos;
    prepareSeries(infos.data);
    if(infos.data.result.series.length == 0) {
        setEmptyGraph("#bodyLatenciesOverTime");
        return;
    }
    if(fixTimestamps) {
        fixTimeStamps(infos.data.result.series, 28800000);
    }
    if(isGraph($("#flotLatenciesOverTime"))) {
        infos.createGraph();
    }else {
        var choiceContainer = $("#choicesLatenciesOverTime");
        createLegend(choiceContainer, infos);
        infos.createGraph();
        setGraphZoomable("#flotLatenciesOverTime", "#overviewLatenciesOverTime");
        $('#footerLatenciesOverTime .legendColorBox > div').each(function(i){
            $(this).clone().prependTo(choiceContainer.find("li").eq(i));
        });
    }
};

var connectTimeOverTimeInfos = {
        data: {"result": {"minY": 1.1960093896713604, "minX": 1.74634116E12, "maxY": 4.596330275229358, "series": [{"data": [[1.74634152E12, 1.4878048780487807], [1.74634122E12, 1.1960093896713604], [1.7463414E12, 1.4870283018867927], [1.74634128E12, 1.199533255542591], [1.74634146E12, 1.540925266903916], [1.74634116E12, 4.596330275229358], [1.74634134E12, 1.3356643356643352]], "isOverall": false, "label": "Judge接口压测", "isController": false}], "supportsControllersDiscrimination": true, "granularity": 60000, "maxX": 1.74634152E12, "title": "Connect Time Over Time"}},
        getOptions: function() {
            return {
                series: {
                    lines: {
                        show: true
                    },
                    points: {
                        show: true
                    }
                },
                xaxis: {
                    mode: "time",
                    timeformat: getTimeFormat(this.data.result.granularity),
                    axisLabel: getConnectTimeLabel(this.data.result.granularity),
                    axisLabelUseCanvas: true,
                    axisLabelFontSizePixels: 12,
                    axisLabelFontFamily: 'Verdana, Arial',
                    axisLabelPadding: 20,
                },
                yaxis: {
                    axisLabel: "Average Connect Time in ms",
                    axisLabelUseCanvas: true,
                    axisLabelFontSizePixels: 12,
                    axisLabelFontFamily: 'Verdana, Arial',
                    axisLabelPadding: 20,
                },
                legend: {
                    noColumns: 2,
                    show: true,
                    container: '#legendConnectTimeOverTime'
                },
                selection: {
                    mode: 'xy'
                },
                grid: {
                    hoverable: true // IMPORTANT! this is needed for tooltip to
                                    // work
                },
                tooltip: true,
                tooltipOpts: {
                    content: "%s : at %x Average connect time was %y ms"
                }
            };
        },
        createGraph: function () {
            var data = this.data;
            var dataset = prepareData(data.result.series, $("#choicesConnectTimeOverTime"));
            var options = this.getOptions();
            prepareOptions(options, data);
            $.plot($("#flotConnectTimeOverTime"), dataset, options);
            // setup overview
            $.plot($("#overviewConnectTimeOverTime"), dataset, prepareOverviewOptions(options));
        }
};

// Connect Time Over Time
function refreshConnectTimeOverTime(fixTimestamps) {
    var infos = connectTimeOverTimeInfos;
    prepareSeries(infos.data);
    if(infos.data.result.series.length == 0) {
        setEmptyGraph("#bodyConnectTimeOverTime");
        return;
    }
    if(fixTimestamps) {
        fixTimeStamps(infos.data.result.series, 28800000);
    }
    if(isGraph($("#flotConnectTimeOverTime"))) {
        infos.createGraph();
    }else {
        var choiceContainer = $("#choicesConnectTimeOverTime");
        createLegend(choiceContainer, infos);
        infos.createGraph();
        setGraphZoomable("#flotConnectTimeOverTime", "#overviewConnectTimeOverTime");
        $('#footerConnectTimeOverTime .legendColorBox > div').each(function(i){
            $(this).clone().prependTo(choiceContainer.find("li").eq(i));
        });
    }
};

var responseTimePercentilesOverTimeInfos = {
        data: {"result": {"minY": 596.0, "minX": 1.74634116E12, "maxY": 71621.0, "series": [{"data": [[1.74634152E12, 68077.0], [1.74634122E12, 31657.0], [1.7463414E12, 70750.0], [1.74634128E12, 53056.0], [1.74634146E12, 71621.0], [1.74634116E12, 10310.0], [1.74634134E12, 70086.0]], "isOverall": false, "label": "Max", "isController": false}, {"data": [[1.74634152E12, 66874.0], [1.74634122E12, 10410.0], [1.7463414E12, 69885.0], [1.74634128E12, 31537.0], [1.74634146E12, 67985.0], [1.74634116E12, 596.0], [1.74634134E12, 53086.0]], "isOverall": false, "label": "Min", "isController": false}, {"data": [[1.74634152E12, 67782.8], [1.74634122E12, 28973.000000000004], [1.7463414E12, 70566.9], [1.74634128E12, 52304.8], [1.74634146E12, 71508.6], [1.74634116E12, 8575.0], [1.74634134E12, 69953.0]], "isOverall": false, "label": "90th percentile", "isController": false}, {"data": [[1.74634152E12, 68077.0], [1.74634122E12, 31625.47], [1.7463414E12, 70709.12], [1.74634128E12, 52658.14], [1.74634146E12, 71576.56], [1.74634116E12, 10220.479999999998], [1.74634134E12, 70039.0]], "isOverall": false, "label": "99th percentile", "isController": false}, {"data": [[1.74634152E12, 67398.0], [1.74634122E12, 21039.5], [1.7463414E12, 70128.0], [1.74634128E12, 42108.0], [1.74634146E12, 71274.0], [1.74634116E12, 5189.0], [1.74634134E12, 64682.5]], "isOverall": false, "label": "Median", "isController": false}, {"data": [[1.74634152E12, 68008.0], [1.74634122E12, 31293.54999999999], [1.7463414E12, 70642.0], [1.74634128E12, 52511.1], [1.74634146E12, 71531.0], [1.74634116E12, 9464.999999999996], [1.74634134E12, 69995.15]], "isOverall": false, "label": "95th percentile", "isController": false}], "supportsControllersDiscrimination": false, "granularity": 60000, "maxX": 1.74634152E12, "title": "Response Time Percentiles Over Time (successful requests only)"}},
        getOptions: function() {
            return {
                series: {
                    lines: {
                        show: true,
                        fill: true
                    },
                    points: {
                        show: true
                    }
                },
                xaxis: {
                    mode: "time",
                    timeformat: getTimeFormat(this.data.result.granularity),
                    axisLabel: getElapsedTimeLabel(this.data.result.granularity),
                    axisLabelUseCanvas: true,
                    axisLabelFontSizePixels: 12,
                    axisLabelFontFamily: 'Verdana, Arial',
                    axisLabelPadding: 20,
                },
                yaxis: {
                    axisLabel: "Response Time in ms",
                    axisLabelUseCanvas: true,
                    axisLabelFontSizePixels: 12,
                    axisLabelFontFamily: 'Verdana, Arial',
                    axisLabelPadding: 20,
                },
                legend: {
                    noColumns: 2,
                    show: true,
                    container: '#legendResponseTimePercentilesOverTime'
                },
                selection: {
                    mode: 'xy'
                },
                grid: {
                    hoverable: true // IMPORTANT! this is needed for tooltip to
                                    // work
                },
                tooltip: true,
                tooltipOpts: {
                    content: "%s : at %x Response time was %y ms"
                }
            };
        },
        createGraph: function () {
            var data = this.data;
            var dataset = prepareData(data.result.series, $("#choicesResponseTimePercentilesOverTime"));
            var options = this.getOptions();
            prepareOptions(options, data);
            $.plot($("#flotResponseTimePercentilesOverTime"), dataset, options);
            // setup overview
            $.plot($("#overviewResponseTimePercentilesOverTime"), dataset, prepareOverviewOptions(options));
        }
};

// Response Time Percentiles Over Time
function refreshResponseTimePercentilesOverTime(fixTimestamps) {
    var infos = responseTimePercentilesOverTimeInfos;
    prepareSeries(infos.data);
    if(fixTimestamps) {
        fixTimeStamps(infos.data.result.series, 28800000);
    }
    if(isGraph($("#flotResponseTimePercentilesOverTime"))) {
        infos.createGraph();
    }else {
        var choiceContainer = $("#choicesResponseTimePercentilesOverTime");
        createLegend(choiceContainer, infos);
        infos.createGraph();
        setGraphZoomable("#flotResponseTimePercentilesOverTime", "#overviewResponseTimePercentilesOverTime");
        $('#footerResponseTimePercentilesOverTime .legendColorBox > div').each(function(i){
            $(this).clone().prependTo(choiceContainer.find("li").eq(i));
        });
    }
};


var responseTimeVsRequestInfos = {
    data: {"result": {"minY": 669.5, "minX": 8.0, "maxY": 67617.0, "series": [{"data": [[8.0, 669.5], [16.0, 47289.0], [11.0, 37285.5], [12.0, 67617.0], [13.0, 63930.0], [14.0, 59448.5], [15.0, 62862.5]], "isOverall": false, "label": "Successes", "isController": false}], "supportsControllersDiscrimination": false, "granularity": 1000, "maxX": 16.0, "title": "Response Time Vs Request"}},
    getOptions: function() {
        return {
            series: {
                lines: {
                    show: false
                },
                points: {
                    show: true
                }
            },
            xaxis: {
                axisLabel: "Global number of requests per second",
                axisLabelUseCanvas: true,
                axisLabelFontSizePixels: 12,
                axisLabelFontFamily: 'Verdana, Arial',
                axisLabelPadding: 20,
            },
            yaxis: {
                axisLabel: "Median Response Time in ms",
                axisLabelUseCanvas: true,
                axisLabelFontSizePixels: 12,
                axisLabelFontFamily: 'Verdana, Arial',
                axisLabelPadding: 20,
            },
            legend: {
                noColumns: 2,
                show: true,
                container: '#legendResponseTimeVsRequest'
            },
            selection: {
                mode: 'xy'
            },
            grid: {
                hoverable: true // IMPORTANT! this is needed for tooltip to work
            },
            tooltip: true,
            tooltipOpts: {
                content: "%s : Median response time at %x req/s was %y ms"
            },
            colors: ["#9ACD32", "#FF6347"]
        };
    },
    createGraph: function () {
        var data = this.data;
        var dataset = prepareData(data.result.series, $("#choicesResponseTimeVsRequest"));
        var options = this.getOptions();
        prepareOptions(options, data);
        $.plot($("#flotResponseTimeVsRequest"), dataset, options);
        // setup overview
        $.plot($("#overviewResponseTimeVsRequest"), dataset, prepareOverviewOptions(options));

    }
};

// Response Time vs Request
function refreshResponseTimeVsRequest() {
    var infos = responseTimeVsRequestInfos;
    prepareSeries(infos.data);
    if (isGraph($("#flotResponseTimeVsRequest"))){
        infos.createGraph();
    }else{
        var choiceContainer = $("#choicesResponseTimeVsRequest");
        createLegend(choiceContainer, infos);
        infos.createGraph();
        setGraphZoomable("#flotResponseTimeVsRequest", "#overviewResponseTimeVsRequest");
        $('#footerResponseRimeVsRequest .legendColorBox > div').each(function(i){
            $(this).clone().prependTo(choiceContainer.find("li").eq(i));
        });
    }
};


var latenciesVsRequestInfos = {
    data: {"result": {"minY": 668.0, "minX": 8.0, "maxY": 67617.0, "series": [{"data": [[8.0, 668.0], [16.0, 47289.0], [11.0, 37285.5], [12.0, 67617.0], [13.0, 63930.0], [14.0, 59448.5], [15.0, 62862.5]], "isOverall": false, "label": "Successes", "isController": false}], "supportsControllersDiscrimination": false, "granularity": 1000, "maxX": 16.0, "title": "Latencies Vs Request"}},
    getOptions: function() {
        return{
            series: {
                lines: {
                    show: false
                },
                points: {
                    show: true
                }
            },
            xaxis: {
                axisLabel: "Global number of requests per second",
                axisLabelUseCanvas: true,
                axisLabelFontSizePixels: 12,
                axisLabelFontFamily: 'Verdana, Arial',
                axisLabelPadding: 20,
            },
            yaxis: {
                axisLabel: "Median Latency in ms",
                axisLabelUseCanvas: true,
                axisLabelFontSizePixels: 12,
                axisLabelFontFamily: 'Verdana, Arial',
                axisLabelPadding: 20,
            },
            legend: { noColumns: 2,show: true, container: '#legendLatencyVsRequest' },
            selection: {
                mode: 'xy'
            },
            grid: {
                hoverable: true // IMPORTANT! this is needed for tooltip to work
            },
            tooltip: true,
            tooltipOpts: {
                content: "%s : Median Latency time at %x req/s was %y ms"
            },
            colors: ["#9ACD32", "#FF6347"]
        };
    },
    createGraph: function () {
        var data = this.data;
        var dataset = prepareData(data.result.series, $("#choicesLatencyVsRequest"));
        var options = this.getOptions();
        prepareOptions(options, data);
        $.plot($("#flotLatenciesVsRequest"), dataset, options);
        // setup overview
        $.plot($("#overviewLatenciesVsRequest"), dataset, prepareOverviewOptions(options));
    }
};

// Latencies vs Request
function refreshLatenciesVsRequest() {
        var infos = latenciesVsRequestInfos;
        prepareSeries(infos.data);
        if(isGraph($("#flotLatenciesVsRequest"))){
            infos.createGraph();
        }else{
            var choiceContainer = $("#choicesLatencyVsRequest");
            createLegend(choiceContainer, infos);
            infos.createGraph();
            setGraphZoomable("#flotLatenciesVsRequest", "#overviewLatenciesVsRequest");
            $('#footerLatenciesVsRequest .legendColorBox > div').each(function(i){
                $(this).clone().prependTo(choiceContainer.find("li").eq(i));
            });
        }
};

var hitsPerSecondInfos = {
        data: {"result": {"minY": 8.783333333333333, "minX": 1.74634116E12, "maxY": 22.533333333333335, "series": [{"data": [[1.74634122E12, 22.533333333333335], [1.7463414E12, 12.2], [1.74634128E12, 19.283333333333335], [1.74634116E12, 8.783333333333333], [1.74634134E12, 14.3]], "isOverall": false, "label": "hitsPerSecond", "isController": false}], "supportsControllersDiscrimination": false, "granularity": 60000, "maxX": 1.7463414E12, "title": "Hits Per Second"}},
        getOptions: function() {
            return {
                series: {
                    lines: {
                        show: true
                    },
                    points: {
                        show: true
                    }
                },
                xaxis: {
                    mode: "time",
                    timeformat: getTimeFormat(this.data.result.granularity),
                    axisLabel: getElapsedTimeLabel(this.data.result.granularity),
                    axisLabelUseCanvas: true,
                    axisLabelFontSizePixels: 12,
                    axisLabelFontFamily: 'Verdana, Arial',
                    axisLabelPadding: 20,
                },
                yaxis: {
                    axisLabel: "Number of hits / sec",
                    axisLabelUseCanvas: true,
                    axisLabelFontSizePixels: 12,
                    axisLabelFontFamily: 'Verdana, Arial',
                    axisLabelPadding: 20
                },
                legend: {
                    noColumns: 2,
                    show: true,
                    container: "#legendHitsPerSecond"
                },
                selection: {
                    mode : 'xy'
                },
                grid: {
                    hoverable: true // IMPORTANT! this is needed for tooltip to
                                    // work
                },
                tooltip: true,
                tooltipOpts: {
                    content: "%s at %x was %y.2 hits/sec"
                }
            };
        },
        createGraph: function createGraph() {
            var data = this.data;
            var dataset = prepareData(data.result.series, $("#choicesHitsPerSecond"));
            var options = this.getOptions();
            prepareOptions(options, data);
            $.plot($("#flotHitsPerSecond"), dataset, options);
            // setup overview
            $.plot($("#overviewHitsPerSecond"), dataset, prepareOverviewOptions(options));
        }
};

// Hits per second
function refreshHitsPerSecond(fixTimestamps) {
    var infos = hitsPerSecondInfos;
    prepareSeries(infos.data);
    if(fixTimestamps) {
        fixTimeStamps(infos.data.result.series, 28800000);
    }
    if (isGraph($("#flotHitsPerSecond"))){
        infos.createGraph();
    }else{
        var choiceContainer = $("#choicesHitsPerSecond");
        createLegend(choiceContainer, infos);
        infos.createGraph();
        setGraphZoomable("#flotHitsPerSecond", "#overviewHitsPerSecond");
        $('#footerHitsPerSecond .legendColorBox > div').each(function(i){
            $(this).clone().prependTo(choiceContainer.find("li").eq(i));
        });
    }
}

var codesPerSecondInfos = {
        data: {"result": {"minY": 0.6833333333333333, "minX": 1.74634116E12, "maxY": 14.3, "series": [{"data": [[1.74634152E12, 0.6833333333333333], [1.74634122E12, 14.2], [1.7463414E12, 14.133333333333333], [1.74634128E12, 14.283333333333333], [1.74634146E12, 14.05], [1.74634116E12, 5.45], [1.74634134E12, 14.3]], "isOverall": false, "label": "200", "isController": false}], "supportsControllersDiscrimination": false, "granularity": 60000, "maxX": 1.74634152E12, "title": "Codes Per Second"}},
        getOptions: function(){
            return {
                series: {
                    lines: {
                        show: true
                    },
                    points: {
                        show: true
                    }
                },
                xaxis: {
                    mode: "time",
                    timeformat: getTimeFormat(this.data.result.granularity),
                    axisLabel: getElapsedTimeLabel(this.data.result.granularity),
                    axisLabelUseCanvas: true,
                    axisLabelFontSizePixels: 12,
                    axisLabelFontFamily: 'Verdana, Arial',
                    axisLabelPadding: 20,
                },
                yaxis: {
                    axisLabel: "Number of responses / sec",
                    axisLabelUseCanvas: true,
                    axisLabelFontSizePixels: 12,
                    axisLabelFontFamily: 'Verdana, Arial',
                    axisLabelPadding: 20,
                },
                legend: {
                    noColumns: 2,
                    show: true,
                    container: "#legendCodesPerSecond"
                },
                selection: {
                    mode: 'xy'
                },
                grid: {
                    hoverable: true // IMPORTANT! this is needed for tooltip to
                                    // work
                },
                tooltip: true,
                tooltipOpts: {
                    content: "Number of Response Codes %s at %x was %y.2 responses / sec"
                }
            };
        },
    createGraph: function() {
        var data = this.data;
        var dataset = prepareData(data.result.series, $("#choicesCodesPerSecond"));
        var options = this.getOptions();
        prepareOptions(options, data);
        $.plot($("#flotCodesPerSecond"), dataset, options);
        // setup overview
        $.plot($("#overviewCodesPerSecond"), dataset, prepareOverviewOptions(options));
    }
};

// Codes per second
function refreshCodesPerSecond(fixTimestamps) {
    var infos = codesPerSecondInfos;
    prepareSeries(infos.data);
    if(fixTimestamps) {
        fixTimeStamps(infos.data.result.series, 28800000);
    }
    if(isGraph($("#flotCodesPerSecond"))){
        infos.createGraph();
    }else{
        var choiceContainer = $("#choicesCodesPerSecond");
        createLegend(choiceContainer, infos);
        infos.createGraph();
        setGraphZoomable("#flotCodesPerSecond", "#overviewCodesPerSecond");
        $('#footerCodesPerSecond .legendColorBox > div').each(function(i){
            $(this).clone().prependTo(choiceContainer.find("li").eq(i));
        });
    }
};

var transactionsPerSecondInfos = {
        data: {"result": {"minY": 0.6833333333333333, "minX": 1.74634116E12, "maxY": 14.3, "series": [{"data": [[1.74634152E12, 0.6833333333333333], [1.74634122E12, 14.2], [1.7463414E12, 14.133333333333333], [1.74634128E12, 14.283333333333333], [1.74634146E12, 14.05], [1.74634116E12, 5.45], [1.74634134E12, 14.3]], "isOverall": false, "label": "Judge接口压测-success", "isController": false}], "supportsControllersDiscrimination": true, "granularity": 60000, "maxX": 1.74634152E12, "title": "Transactions Per Second"}},
        getOptions: function(){
            return {
                series: {
                    lines: {
                        show: true
                    },
                    points: {
                        show: true
                    }
                },
                xaxis: {
                    mode: "time",
                    timeformat: getTimeFormat(this.data.result.granularity),
                    axisLabel: getElapsedTimeLabel(this.data.result.granularity),
                    axisLabelUseCanvas: true,
                    axisLabelFontSizePixels: 12,
                    axisLabelFontFamily: 'Verdana, Arial',
                    axisLabelPadding: 20,
                },
                yaxis: {
                    axisLabel: "Number of transactions / sec",
                    axisLabelUseCanvas: true,
                    axisLabelFontSizePixels: 12,
                    axisLabelFontFamily: 'Verdana, Arial',
                    axisLabelPadding: 20
                },
                legend: {
                    noColumns: 2,
                    show: true,
                    container: "#legendTransactionsPerSecond"
                },
                selection: {
                    mode: 'xy'
                },
                grid: {
                    hoverable: true // IMPORTANT! this is needed for tooltip to
                                    // work
                },
                tooltip: true,
                tooltipOpts: {
                    content: "%s at %x was %y transactions / sec"
                }
            };
        },
    createGraph: function () {
        var data = this.data;
        var dataset = prepareData(data.result.series, $("#choicesTransactionsPerSecond"));
        var options = this.getOptions();
        prepareOptions(options, data);
        $.plot($("#flotTransactionsPerSecond"), dataset, options);
        // setup overview
        $.plot($("#overviewTransactionsPerSecond"), dataset, prepareOverviewOptions(options));
    }
};

// Transactions per second
function refreshTransactionsPerSecond(fixTimestamps) {
    var infos = transactionsPerSecondInfos;
    prepareSeries(infos.data);
    if(infos.data.result.series.length == 0) {
        setEmptyGraph("#bodyTransactionsPerSecond");
        return;
    }
    if(fixTimestamps) {
        fixTimeStamps(infos.data.result.series, 28800000);
    }
    if(isGraph($("#flotTransactionsPerSecond"))){
        infos.createGraph();
    }else{
        var choiceContainer = $("#choicesTransactionsPerSecond");
        createLegend(choiceContainer, infos);
        infos.createGraph();
        setGraphZoomable("#flotTransactionsPerSecond", "#overviewTransactionsPerSecond");
        $('#footerTransactionsPerSecond .legendColorBox > div').each(function(i){
            $(this).clone().prependTo(choiceContainer.find("li").eq(i));
        });
    }
};

var totalTPSInfos = {
        data: {"result": {"minY": 0.6833333333333333, "minX": 1.74634116E12, "maxY": 14.3, "series": [{"data": [[1.74634152E12, 0.6833333333333333], [1.74634122E12, 14.2], [1.7463414E12, 14.133333333333333], [1.74634128E12, 14.283333333333333], [1.74634146E12, 14.05], [1.74634116E12, 5.45], [1.74634134E12, 14.3]], "isOverall": false, "label": "Transaction-success", "isController": false}, {"data": [], "isOverall": false, "label": "Transaction-failure", "isController": false}], "supportsControllersDiscrimination": true, "granularity": 60000, "maxX": 1.74634152E12, "title": "Total Transactions Per Second"}},
        getOptions: function(){
            return {
                series: {
                    lines: {
                        show: true
                    },
                    points: {
                        show: true
                    }
                },
                xaxis: {
                    mode: "time",
                    timeformat: getTimeFormat(this.data.result.granularity),
                    axisLabel: getElapsedTimeLabel(this.data.result.granularity),
                    axisLabelUseCanvas: true,
                    axisLabelFontSizePixels: 12,
                    axisLabelFontFamily: 'Verdana, Arial',
                    axisLabelPadding: 20,
                },
                yaxis: {
                    axisLabel: "Number of transactions / sec",
                    axisLabelUseCanvas: true,
                    axisLabelFontSizePixels: 12,
                    axisLabelFontFamily: 'Verdana, Arial',
                    axisLabelPadding: 20
                },
                legend: {
                    noColumns: 2,
                    show: true,
                    container: "#legendTotalTPS"
                },
                selection: {
                    mode: 'xy'
                },
                grid: {
                    hoverable: true // IMPORTANT! this is needed for tooltip to
                                    // work
                },
                tooltip: true,
                tooltipOpts: {
                    content: "%s at %x was %y transactions / sec"
                },
                colors: ["#9ACD32", "#FF6347"]
            };
        },
    createGraph: function () {
        var data = this.data;
        var dataset = prepareData(data.result.series, $("#choicesTotalTPS"));
        var options = this.getOptions();
        prepareOptions(options, data);
        $.plot($("#flotTotalTPS"), dataset, options);
        // setup overview
        $.plot($("#overviewTotalTPS"), dataset, prepareOverviewOptions(options));
    }
};

// Total Transactions per second
function refreshTotalTPS(fixTimestamps) {
    var infos = totalTPSInfos;
    // We want to ignore seriesFilter
    prepareSeries(infos.data, false, true);
    if(fixTimestamps) {
        fixTimeStamps(infos.data.result.series, 28800000);
    }
    if(isGraph($("#flotTotalTPS"))){
        infos.createGraph();
    }else{
        var choiceContainer = $("#choicesTotalTPS");
        createLegend(choiceContainer, infos);
        infos.createGraph();
        setGraphZoomable("#flotTotalTPS", "#overviewTotalTPS");
        $('#footerTotalTPS .legendColorBox > div').each(function(i){
            $(this).clone().prependTo(choiceContainer.find("li").eq(i));
        });
    }
};

// Collapse the graph matching the specified DOM element depending the collapsed
// status
function collapse(elem, collapsed){
    if(collapsed){
        $(elem).parent().find(".fa-chevron-up").removeClass("fa-chevron-up").addClass("fa-chevron-down");
    } else {
        $(elem).parent().find(".fa-chevron-down").removeClass("fa-chevron-down").addClass("fa-chevron-up");
        if (elem.id == "bodyBytesThroughputOverTime") {
            if (isGraph($(elem).find('.flot-chart-content')) == false) {
                refreshBytesThroughputOverTime(true);
            }
            document.location.href="#bytesThroughputOverTime";
        } else if (elem.id == "bodyLatenciesOverTime") {
            if (isGraph($(elem).find('.flot-chart-content')) == false) {
                refreshLatenciesOverTime(true);
            }
            document.location.href="#latenciesOverTime";
        } else if (elem.id == "bodyCustomGraph") {
            if (isGraph($(elem).find('.flot-chart-content')) == false) {
                refreshCustomGraph(true);
            }
            document.location.href="#responseCustomGraph";
        } else if (elem.id == "bodyConnectTimeOverTime") {
            if (isGraph($(elem).find('.flot-chart-content')) == false) {
                refreshConnectTimeOverTime(true);
            }
            document.location.href="#connectTimeOverTime";
        } else if (elem.id == "bodyResponseTimePercentilesOverTime") {
            if (isGraph($(elem).find('.flot-chart-content')) == false) {
                refreshResponseTimePercentilesOverTime(true);
            }
            document.location.href="#responseTimePercentilesOverTime";
        } else if (elem.id == "bodyResponseTimeDistribution") {
            if (isGraph($(elem).find('.flot-chart-content')) == false) {
                refreshResponseTimeDistribution();
            }
            document.location.href="#responseTimeDistribution" ;
        } else if (elem.id == "bodySyntheticResponseTimeDistribution") {
            if (isGraph($(elem).find('.flot-chart-content')) == false) {
                refreshSyntheticResponseTimeDistribution();
            }
            document.location.href="#syntheticResponseTimeDistribution" ;
        } else if (elem.id == "bodyActiveThreadsOverTime") {
            if (isGraph($(elem).find('.flot-chart-content')) == false) {
                refreshActiveThreadsOverTime(true);
            }
            document.location.href="#activeThreadsOverTime";
        } else if (elem.id == "bodyTimeVsThreads") {
            if (isGraph($(elem).find('.flot-chart-content')) == false) {
                refreshTimeVsThreads();
            }
            document.location.href="#timeVsThreads" ;
        } else if (elem.id == "bodyCodesPerSecond") {
            if (isGraph($(elem).find('.flot-chart-content')) == false) {
                refreshCodesPerSecond(true);
            }
            document.location.href="#codesPerSecond";
        } else if (elem.id == "bodyTransactionsPerSecond") {
            if (isGraph($(elem).find('.flot-chart-content')) == false) {
                refreshTransactionsPerSecond(true);
            }
            document.location.href="#transactionsPerSecond";
        } else if (elem.id == "bodyTotalTPS") {
            if (isGraph($(elem).find('.flot-chart-content')) == false) {
                refreshTotalTPS(true);
            }
            document.location.href="#totalTPS";
        } else if (elem.id == "bodyResponseTimeVsRequest") {
            if (isGraph($(elem).find('.flot-chart-content')) == false) {
                refreshResponseTimeVsRequest();
            }
            document.location.href="#responseTimeVsRequest";
        } else if (elem.id == "bodyLatenciesVsRequest") {
            if (isGraph($(elem).find('.flot-chart-content')) == false) {
                refreshLatenciesVsRequest();
            }
            document.location.href="#latencyVsRequest";
        }
    }
}

/*
 * Activates or deactivates all series of the specified graph (represented by id parameter)
 * depending on checked argument.
 */
function toggleAll(id, checked){
    var placeholder = document.getElementById(id);

    var cases = $(placeholder).find(':checkbox');
    cases.prop('checked', checked);
    $(cases).parent().children().children().toggleClass("legend-disabled", !checked);

    var choiceContainer;
    if ( id == "choicesBytesThroughputOverTime"){
        choiceContainer = $("#choicesBytesThroughputOverTime");
        refreshBytesThroughputOverTime(false);
    } else if(id == "choicesResponseTimesOverTime"){
        choiceContainer = $("#choicesResponseTimesOverTime");
        refreshResponseTimeOverTime(false);
    }else if(id == "choicesResponseCustomGraph"){
        choiceContainer = $("#choicesResponseCustomGraph");
        refreshCustomGraph(false);
    } else if ( id == "choicesLatenciesOverTime"){
        choiceContainer = $("#choicesLatenciesOverTime");
        refreshLatenciesOverTime(false);
    } else if ( id == "choicesConnectTimeOverTime"){
        choiceContainer = $("#choicesConnectTimeOverTime");
        refreshConnectTimeOverTime(false);
    } else if ( id == "choicesResponseTimePercentilesOverTime"){
        choiceContainer = $("#choicesResponseTimePercentilesOverTime");
        refreshResponseTimePercentilesOverTime(false);
    } else if ( id == "choicesResponseTimePercentiles"){
        choiceContainer = $("#choicesResponseTimePercentiles");
        refreshResponseTimePercentiles();
    } else if(id == "choicesActiveThreadsOverTime"){
        choiceContainer = $("#choicesActiveThreadsOverTime");
        refreshActiveThreadsOverTime(false);
    } else if ( id == "choicesTimeVsThreads"){
        choiceContainer = $("#choicesTimeVsThreads");
        refreshTimeVsThreads();
    } else if ( id == "choicesSyntheticResponseTimeDistribution"){
        choiceContainer = $("#choicesSyntheticResponseTimeDistribution");
        refreshSyntheticResponseTimeDistribution();
    } else if ( id == "choicesResponseTimeDistribution"){
        choiceContainer = $("#choicesResponseTimeDistribution");
        refreshResponseTimeDistribution();
    } else if ( id == "choicesHitsPerSecond"){
        choiceContainer = $("#choicesHitsPerSecond");
        refreshHitsPerSecond(false);
    } else if(id == "choicesCodesPerSecond"){
        choiceContainer = $("#choicesCodesPerSecond");
        refreshCodesPerSecond(false);
    } else if ( id == "choicesTransactionsPerSecond"){
        choiceContainer = $("#choicesTransactionsPerSecond");
        refreshTransactionsPerSecond(false);
    } else if ( id == "choicesTotalTPS"){
        choiceContainer = $("#choicesTotalTPS");
        refreshTotalTPS(false);
    } else if ( id == "choicesResponseTimeVsRequest"){
        choiceContainer = $("#choicesResponseTimeVsRequest");
        refreshResponseTimeVsRequest();
    } else if ( id == "choicesLatencyVsRequest"){
        choiceContainer = $("#choicesLatencyVsRequest");
        refreshLatenciesVsRequest();
    }
    var color = checked ? "black" : "#818181";
    if(choiceContainer != null) {
        choiceContainer.find("label").each(function(){
            this.style.color = color;
        });
    }
}

